Developing Apama Applications > Apama EPL Reference > Types
Types
EPL has primitive data types and reference data 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 data 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.
Note that there is no data type equivalent to a memory address or pointer.
DataTypeName
EPL supports the following data types:
*Primitive types:
*boolean
*decimal
*float
*integer
*string — Technically, a string is a reference type but it behaves like a primitive type.
*Reference types:
*action
*chunk
*context
*dictionary
*event
*listener
*location
*sequence
*stream
The dictionary and sequence reference types are also container types.
Copyright © 2013 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.