Types
EPL has primitive types and reference types. Data in the primitive types are simple scalar values. Reference types (also called complex types or object types) have values that are more complicated and some, like the dictionary type, have multiple values and have definitions that involve more than one type.
When values are passed as parameters in action and method invocations, primitive types are passed by value, and reference types are passed by reference. When a parameter is passed by value, the called action or method receives a copy of the value and has no direct way to change the variable that the value may have been derived from. When a parameter is passed by reference, the called action or method receives a reference instead of a copy and if the called action changes the value, the caller also sees the change.
In addition to the primitive types and reference types, there is also the monitor pseudo-type which provides static methods to configure the monitor instance or context they are called from.
Note that there is no type equivalent to a memory address or pointer.
See the
API Reference for EPL (ApamaDoc) for detailed descriptions of all of these types. You can find them under
All Types, and under the headings
Built-in types and
Aggregates. Alternatively, you can find them in the following packages:
<Default Package> (most of the built-in types can be found here)
com.apama (includes the
Channel type)
com.apama.aggregates (includes all of the built-in aggregate functions such as
avg)
com.apama.exceptions (includes the
Exception and
StackTraceElement types)