Interface ICustomOperatorProducer


  • public interface ICustomOperatorProducer

    An interface describing conversion of a HOCON block configuration to the information required to instantiate an EventFlow operator. The producer interface provides:

    • Validation that a particular configuration schema can be processed by this producer.
    • Validation of an instance of the configuration schema.
    • Returning of the operator IR type associated with a particular configuration and/or this producer.
    • Configuring of an operator IR using a particular configuration.
    • A set of input port descriptions, each with an optional tuple schema hint.
    • A set of output port descriptions.
    • Method Detail

      • canProcessConfigurationsFor

        boolean canProcessConfigurationsFor​(String schemaURL)

        Return true if this producer can process configurations that conform to the specified JSON schema, false otherwise.

        Parameters:
        schemaURL - schema to check
        Returns:
        true or false as described above
      • validate

        void validate​(com.typesafe.config.Config config,
                      FlowValidationProblemList problems)

        Semantic validation of the operator configuration

        Parameters:
        config - operator configuration to validate, conforming to a JSON schema appropriate for this class
        problems - added to if there are any semantic validation errors of the schema
      • getOperatorIRType

        String getOperatorIRType​(com.typesafe.config.Config config)

        Return an operator IR type appropriate for the specified configuration.

        Parameters:
        config - operator configuration, conforming to a JSON schema appropriate for this class
        Returns:
        operator IR type
      • configureOperatorIR

        void configureOperatorIR​(com.streambase.sb.ir.OperatorIr operatorIR,
                                 com.typesafe.config.Config config)

        Configure the specified operator IR.

        Parameters:
        operatorIR - operator IR to configure
        config - operator configuration, conforming to a JSON schema appropriate for this class
      • getInputPorts

        Map<String,​DataInputPortConfig> getInputPorts​(com.typesafe.config.Config config,
                                                            TupleSchemaFactory tupleSchemaFactory,
                                                            FlowValidationProblemList problems)

        Produce input port descriptions. The result is an associative array of descriptions, indexed by port name.

        Parameters:
        config - instance configuration to process
        tupleSchemaFactory - used to create optional EventFlow tuple schemas associated with the input ports
        problems - container for any problems encountered while creating tuple schemas
        Returns:
        input port descriptions
      • getOutputPorts

        Map<String,​DataOutputPortConfig> getOutputPorts​(com.typesafe.config.Config config)

        Produce output port descriptions. The result is an associative array of port descriptions, indexed by port name.

        Parameters:
        config - instance configuration to process
        Returns:
        output port descriptions