New any type in 10.1
EPL now supports any types. Values of the any type can hold a value of a concrete EPL type (that is, a type other than the any type). Different values of any variables may have different types. This is useful when mapping to generic data formats such as JSON, or where the data in an event or being processed by an action may be one of a number of different types. An any value may also be empty and not contain a value (similar to the concept of null in other languages).
The new
switch statement operates on an expression of the
any type. See
Handling any values of different types with the switch
statement for more information.
EPL supports casting of the
any type to a concrete target type and vice versa. See
Handling the any type for more information.
The MemoryStore now supports the
any type. A valid schema can be created from an event type using
schemaFromAny(event). New actions to get and set fields and rows from the
any type and from
dictionary<string,any> have been added. See
Description of row structures for more information.
The connectivity plug-ins can now handle values of the
any type. This means that an empty
data_t or a
null value in Java will translate to/from an empty type. See
Map contents used by the apama.eventMap host plug-in.
The EPL plug-ins written in C++ support the
any type, converting it to a
data_t. See
Method signatures.
Note:any type support is currently not available for the EPL plug-ins written in Java.
The Apama event parser libraries for Java and .NET have been updated to support events with any fields. A new class AnyFieldType has been added to represent the any field type. To access it, you have to create new AnyFieldType(). For complete information about this class, refer to the description of
The Apama event parser library for C has been updated to support events with any fields.