Class TupleSchemaFactory
- java.lang.Object
-
- com.tibco.ep.tcs.runtime.config.TupleSchemaFactory
-
public class TupleSchemaFactory extends Object
A factory that creates an EventFlow tuple
Schemaobject given an EventFlow tuple schema configuration as represented using JSON Schema. It can also perform the reverse process of converting a schema object to its JSON Schema form. The factory supports external schema references in JSON Schema reference form, loading and then validating the referenced HOCON configuration before converting.
-
-
Constructor Summary
Constructors Constructor Description TupleSchemaFactory(ClassLoader classLoader)Create a new tuple schema factory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SchemacreateSchema(com.typesafe.config.Config sourceSchemaParent, String tupleSchemaPath, FlowValidationProblemList problems)Create a new EventFlow tuple schema given a HOCON configuration and a property name in that configuration that points to the schema.static com.typesafe.config.ConfigtoJSONSchema(Schema schema)Convert an EventFlow tuple schema to JSON Schema.static StringtoSchemaXML(Schema schema)Convert an EventFlow tuple schema object to its XML form.
-
-
-
Constructor Detail
-
TupleSchemaFactory
public TupleSchemaFactory(ClassLoader classLoader)
Create a new tuple schema factory. The specified class loader is used to find schemas specified by JSON Schema reference URI.
- Parameters:
classLoader- class loader to use when locating schemas identified by URI, null for current thread's context class loader
-
-
Method Detail
-
createSchema
public Schema createSchema(com.typesafe.config.Config sourceSchemaParent, String tupleSchemaPath, FlowValidationProblemList problems)
Create a new EventFlow tuple schema given a HOCON configuration and a property name in that configuration that points to the schema. The property value is always a JSON Schema with OpenAPI 3.1 and TIBCO HCA extensions, either a full inline schema or a reference to an external schema.
- Parameters:
sourceSchemaParent- HOCON configuration containing the incoming schema. Assumed to be valid.tupleSchemaPath- path within the above configuration whose value holds the schema or external schema reference. If null or empty, the above configuration is assumed to be an inline schemaproblems- problem list, added to with any validation problems if the desired schema is an external reference that needs loading and validating- Returns:
- tuple schema, null if no value found at the specified path (optional schema), or errors were encountered while loading and validating referenced schemas
-
toJSONSchema
public static com.typesafe.config.Config toJSONSchema(Schema schema)
Convert an EventFlow tuple schema to JSON Schema.
- Parameters:
schema- schema to convert- Returns:
- HOCON configuration
-
-