Apama 10.15.0 | Developing Apama Applications | Developing EPL Plug-ins | Writing EPL Plug-ins in Java | Creating an EPL plug-in using Java | Permitted signatures for methods
 
Permitted signatures for methods
For a method to be exposed to EPL, it must be public, must be static and every argument plus the return type must be one of the following:
Java Entry
EPL Type
Notes
int
integer
Truncated when passed in, for compatibility.
long
integer
String
string
Copy in / copy out.
boolean
boolean
double
float
java.lang.Number
decimal
Is either java.lang.Double type for NaN or infinity, or java.math.BigDecimal for a value.
java.math.BigDecimal
decimal
Passing in either NaN or infinity throws an exception that kills the monitor instance if not caught.
Deprecated, use java.lang.Number instead.
com.apama.epl.plugin.Context
context
New type defined for plug-ins.
com.apama.epl.plugin.Channel
com.apama.Channel
New type defined for plug-ins.
Object
chunk
Any Java object can be held in EPL via a chunk.
TYPE[]
sequence<TYPE>
Any above type except int can be passed in as an arbitrary-depth nested array->sequence. The sequence is strictly copy-in, non-modifiable, but can be returned as copy-out.
void
N/A
Permitted as a return type only.
Any method not matching this signature is ignored and logged at DEBUG.
Overloaded functions
Any function with multiple overloads is ignored (none of them are exposed) and this is logged once at WARN and once per method at DEBUG.