Package com.tibco.ep.tcs.runtime.config
This package contains all the classes and interfaces that manage TIBCO Cloud Streaming flow and block configuration. Each piece of configuration data has an interface (all starting with "I" in this package) and a builder (all suffixed with "Config" in this package) associated with it. Each builder can build up its associated configuration piecemeal using fluent-style setter methods, or the configuration can be constructed directly from an associated configuration interface (see below), or constructed directly from its external textual representation. The configuration API supports HOCON, JSON, and YAML for external textual representations, all validated against JSON Schema documents.
There are two kinds of top-level configuration: block metadata and flows. Each has an external textual representation as described above. In addition, flows have a TIBCO Streaming managed configuration object representation which itself is derived from the flow's external textual representation. Both the top-level block metadata configuration class and the flow configuration class have constructors from external textual representations that also perform validation against their associated schemas. Interior configuration classes perform no validation of their external representation.
Implementation note: The configuration API uses interfaces to mediate between a flow's managed configuration objects and the flow engine because we don't want the TIBCO Cloud Streaming runtime engine to depend on the configuration project that defines the flow's managed configuration objects. Doing so would force the runtime engine to access those objects in TIBCO Streaming transactions, and prevent the runtime classes from being used outside a node (for example in TIBCO Streaming Studio, in a web services container behind a GUI, or in unit tests that can run directly in Eclipse's JUnit runner). Instead, the managed configuration objects implement their corresponding configuration interfaces and the configuration API converts instances of those interfaces to configuration API objects as needed.
If you want to create block metadata configuration objects, the BlockMetaDataConfigFactory
will produce
identified
blocks from resources after validation, or
anonymous
blocks from already-validated configuration, or from interfaces.
-
Interface Summary Interface Description IAdditionalTransformation An interface describing a single additional transformation belonging to a flow edge, applied after all input transformations.IBasePort A base interface describing common port configuration as shared by module, data input, and data output blocks.IBlockInstance An interface describing a block instance in a flow.IBlockMetaData A marker interface for all TCS block metadata.IBlockMetaDataWithSchema Base class for all blocks whose instances are configurable.ICallFlowBlockMetaData An interface that describes the metadata for a TCS call-flow block.ICustomAdapterConfigProducer An interface describing conversion of a HOCON block configuration to the information required to instantiate an EventFlow custom operator or adapter.ICustomOperatorProducer An interface describing conversion of a HOCON block configuration to the information required to instantiate an EventFlow operator.ICustomTupleSchemaProducer An interface describing production of a tuple schema from block instance configuration.IDataInputBlockMetaData An interface that describes the metadata required for a data input block.IDataInputOutputBlockMetaData An interface that describes the metadata for a TCS data input or data output block.IDataOutputBlockMetaData An interface that describes the metadata required for a data output block.IDependentBlockMetaData An interface that describes the metadata for a TCS dependent block.IEdge An interface describing an edge between two block instances in a flow.IErrorInputBlockMetaData An interface that describes the metadata for a TCS error input block.IErrorOutputBlockMetaData An interface that describes the metadata for a TCS error output block.IExportedEndpoints An interface describing a set of exported input and output endpoints belonging to a flow.IFlow An interface describing a TCS flow as a graph of TCS block instances.IIdentification An interface describing identification metadata for a flow or block.IInputTransformation An interface describing a single input transformation for a flow edge, applied to a field of the input tuple.IInputTransformations An interface describing an edge's input transformations, applied to fields of an input tuple.IModuleBlockMetaData An interface that describes the metadata for a TCS module block.IModuleBlockPort An interface that describes a module block's input or output port.IOperatorBlockMetaData An interface that describes the metadata for a TCS operator block.ISearchMetaData An interface describing search metadata for a flow or block.IStreamInputBlockMetaData An interface that describes a TCS stream input block.IStreamOutputBlockMetaData An interface that describes a TCS stream output block.ITransformation An interface describing a generic transformation. -
Class Summary Class Description AdditionalTransformationConfig A single additional transformation belonging to a flow edge, applied after all input transformations.BaseConfig Abstract base class for all configuration objects.BasePortConfig A base class describing common port configuration as shared by module, data input, and data output blocks.BlockInstanceConfig Configuration describing a block instance in a flow.BlockMetaDataConfig Block metadata base configuration, from which all block metadata configuration classes are derived.BlockMetaDataConfigFactory Factory for producing block metadata configuration from different sources.CallFlowBlockMetaDataConfig Configuration that describes the metadata for a TCS call-flow block.ConfigMessageBundle TCS engine message bundle.DataInputBlockMetaDataConfig Configuration that describes the metadata for a TCS data input block.DataInputOutputBlockMetaDataConfig Metadata common to data input and data output blocks.DataInputOutputPortConfig A class describing a data input or output block port.DataInputPortConfig A class describing a data input port.DataOutputBlockMetaDataConfig Configuration that describes the metadata for a TCS data output block.DataOutputPortConfig A class describing a data output port.DependentBlockMetaDataConfig Configuration that describes the metadata for a TCS dependent block.EdgeConfig Configuration for an edge between two block instances in a flow.ErrorInputBlockMetaDataConfig Configuration that describes the metadata for a TCS error input block.ErrorOutputBlockMetaDataConfig Configuration that describes the metadata for a TCS error output block.ExportedEndpointsConfig A class containing a flow's exported endpoints.FlowConfig Configuration describing a TCS flow as a graph of TCS block instances.IdentificationConfig A class containing identification metadata for a flow or block.IdentifiedBlockMetaDataConfig Identified block metaData, consisting ofblock metaData
plus identification information.InputTransformationConfig A single input transformation for a flow edge, applied to a field of the input tuple.InputTransformationsConfig An edge's input transformations, applied to fields of an input tuple.ModuleBlockMetaDataConfig Configuration that describes the metadata for a TCS module block.ModuleBlockPortConfig A class describing a module block input or output port.OperatorBlockMetaDataConfig Configuration that describes the metadata for a TCS operator block.SearchMetaDataConfig A class containing search metadata for a flow or block.StreamInputBlockMetaDataConfig Configuration that describes a TCS stream input block with a hard-wired configuration JSON schema.StreamOutputBlockMetaDataConfig Configuration that describes a TCS stream output block.TransformationConfig A generic transformation.TupleSchemaFactory A factory that creates an EventFlow tupleSchema
object given an EventFlow tuple schema configuration as represented using JSON Schema. -
Enum Summary Enum Description BlockMetaDataConfigFactory.BlockType Full list of block types.IAdditionalTransformation.OperationType The type of transformation operation, one of ADD, DECLARE, REMOVE, or REPLACE.IInputTransformation.OperationType The type of transformation operation, one of DECLARE, INCLUDE, REMOVE, or REPLACE.IInputTransformations.StartFieldSetType The set of input fields to start with, either ALL or NONE.