-
Interface Summary Interface Description Attribute Meta-data for an attribute within aStreamSchema
.Operator Operator for processing and producing streams of tuples.Operator.TagNames Tag names for use withOperator#setTagData(String, Map
. OperatorContext Context information for theOperator
's execution context.OptionalContext An invocation of an operator may have optional contexts, that provide information specific to a particular environment, such as aconsistent region
.OutputTuple A mutable object that represents a tuple that can be submitted on an output port using the interfaceStreamingOutput
.ProcessingElement Information about anOperator
's processing element.StreamingData StreamingData describes anOperator
's port.StreamingInput<T> StreamingInput represents an input port for anOperator
.StreamingOutput<T> StreamingOutput represents an output port for anOperator
.StreamSchema An immutable object representing the schema of a port or an attribute of typeTUPLE
.Tuple A representation of a stream's tuple.TupleAttribute<T,A> Defines an attribute for a specific port.Type Describes a specific type within a StreamSchema and its representation within Java. -
Class Summary Class Description AbstractOperator An abstract implementation of Operator that may be used by developers to implement their own Operator.PERuntime Utility methods to get information about the current processing element and operator context.Type.Factory Factory for creating SPL type related objects. -
Enum Summary Enum Description StreamingData.Punctuation Enumeration for punctuation marks.StreamingInput.ImportType Enumeration for how a port imports its streams.StreamingOutput.ExportType Enumeration for how a port exports its stream.Type.MetaType Enumeration of SPL types. -
Exception Summary Exception Description DataException This is an exception that is thrown by Java primitive operators when an error condition is found when processing input tuples. -
Annotation Types Summary Annotation Type Description OperatorContext.ContextCheck A method annotated@ContextCheck
allows checking of an operator's invocation context.
Package com.ibm.streams.operator Description
Java Operator API for InfoSphere Streams.
The main interface for an operator is
Operator
,
an instance of operator acts as a processor of tuples. When an Operator
has streaming inputs (ports)
incoming tuples are passed into its
process
method as
Tuple
objects.
An OperatorContext
provides information
about the context the operator is executing in and access to the method to
submit
tuples
on its streaming outputs.
Java Operators are invoked from a IBM Streams Processing Language (SPL) application
either using a Java primitive operator or
the generic spl.utility.JavaOp
operator from the SPL Standard toolkit.
Java Primitive Operators
A Java primitive operator defines the operator class and its required jar files in its operator model. In addition the operator model defines the syntax for the operator, such as expected parameters, ports and windowing semantics. A Java primitive operator is then is invoked like any other operator within SPL.JavaOp
A JavaOp operator invocation supports these parameters:generated
Optional - A boolean parameter, that if set to true it indicates that the SPL compilation generates classes and interfaces specific to the operator and its ports.className
Required - The full class name of the operator that is used to process and submit tuples. The specified class must implementOperator
.classLibrary
Required - Application specific class path elements required by the operator class, each value corresponds to a single JAR file or a directory containing Java classes.vmArg
Optional Command line arguments passed to the invoked Java virtual machine the operator is executed within. Operators that are fused into a single processing element must have equivalent values for vmArg. While Java system properties can be set usingvmArg
, the preference should be to set them within the operator's code, to avoid incompatiblevmArg
setting for fusing. Only when a system property is required to be set at JVM startup should it be set usingvmArg
.
className
.
For full details see the SPL Standard Toolkit reference.