Use the EventFlow Editor's Definitions tab to manage constants, schemas, and Interfaces for the current EventFlow module, and to manage imports of those constructs from other modules. Use the links in the contents above to navigate to each section.
The top panel of the EventFlow Editor Definitions tab allows you to define and edit:
The Definitions tab includes context menu commands for refactoring the currently selected constant, named schema, or table schema. You can either move or rename the selected item, and the new location or new name is propagated to all locations where the old name was used in all modules and interfaces in the current module search path.
> opens a dialog in which you specify a new name for the selected constant or schema.
module search path. Select a module or interface, and the selected constant or schema definition is moved to that file.> opens a dialog with a drop-down list of the modules and interfaces in the current Maven
You can define constants with module scope that can thereafter be referenced in any expression in any component or adapter in the containing module, or in any module that imports the defining module. Designate the value of a constant with an expression, which is calculated once when the container holding the module is run. See Using Constants for more on constants.
You can optionally enter text in the Description field to document the purpose or origin of the constant.
The tree view in the Named Schemas and Constants section distinguishes between constants defined in the current module and constants imported from another module or interface.
Manage constants as follows:
To create a constant for the current module, click thebutton. You can also select any entry in the list, right-click, and select from the context menu. This opens the Edit Constant dialog.
To modify an existing constant, select it in the list, then use thebutton or the context menu command. Both functions open the Edit Constant dialog.
To remove a constant, select it in the list, then use thebutton or the context menu command.
The Named Schemas and Constants section of the Definitions tab lists named schemas defined for the current EventFlow module. Named schemas can be used by any component in the current module that takes a schema. See Using Named Schemas in the Authoring Guide for further information.
The tree view in the Named Schemas and Constants section distinguishes between named schemas defined in the current module and named schemas imported from another module.
Manage named schemas as follows:
To create a named schema for the current module, click thebutton. You can also select any entry in the list, right-click, and select from the context menu. This opens the Edit Named Schema dialog.
To modify an existing schema, select it in the list, then use thebutton or the context menu command. Both functions open the Edit Named Schema dialog.
To remove a named schema, select it in the list, then use thebutton or the context menu command.
To import a schema defined in an XSD file by TIBCO BusinessEvents®, select anywhere in the list, right-click, and select Import Schemas from XSD from the context menu.
You can compare two named schemas in the Named Schemas tab in the same way that you compare the schemas of two components in the canvas. That is, select two schemas while holding the Ctrl key (Windows) or Command key (macOS), right-click, and select Compare. Comparing schemas is best used on closely related schemas, such as an old and new version of the same schema. See Comparing Schemas for details.
See Using Table Schemas for instructions on adding and editing table schemas.
A table schema is a named schema for a set of Query Tables that completely defines the structure of those Query Tables, and ensures that all Query Tables in the set are identically defined. A table schema includes not only the schema of a Query Table, but its primary and secondary indexes as well. You can apply a table schema by name to two or more Query Tables to quickly assign the same structure to Query Tables in several modules across a large StreamBase solution.
See Importing Resources from One Module to Another for instructions on using this panel.
Use this panel to import all or a selection of the named schemas, constants, and table schemas from another module to the current module. The modules from which you import must be in the current module's module search path.
For large, multi-module applications, this feature allows you to define commonly used schemas and constants in one or more central modules, and then import them from a central module as needed into other modules in the application.
Use the Manage Interfaces panel of the Definitions tab to use one or more StreamBase interfaces as templates for the current module. When you implement an interface, you place the exact streams and schemas defined in the interface into the current module.
Use the module search path for StreamBase interface files. The Choose Interfaces dialog offers two options in check boxes:button to search the current
- Automatically add interface components to the application
Adds stream and Query Table components to the current module for each stream and table defined in the interface, using the schemas defined in the interface.
- Import the definitions and imports from the interface
Automatically imports the constants, named schemas, and table schemas in the selected interface, including any constants and schemas that are themselves imported in the selected interface's definition. The usual practice is to select this check box so that the interface's definitions are present along with the streams and tables based on them. You might unselect this option if the same constants and schema definitions are already imported into the current module from elsewhere.
Use the Enforcing An Interface for details.button to re-add components conforming to the selected interface to the current module. Use this button if you added interface components, but then inadvertently removed one or more of them. This button enforces the implementation of the interface in the current module. See
See Using Interfaces for more on StreamBase Interfaces.