Java Class
|
Description
|
java.lang.Object
|
所有遵循JavaBean惯例而且具有get方法的Java POJO(java普通类);不遵循javaBean惯例的传统java类也可以作为事件
|
java.util.Map
|
Map事件实现的java.util.Map接口,其中Map每个项是一个属性值
|
Object [] ( array of object)
|
对象数组事件是一系列属性值作为数组元素的对象(类型是Object[])
|
org.w3c.dom.node
|
XML文档对象模型(DOM)
|
org.apache.axiom.om.OMDocument或是 OMElement
|
XML流式API(AtAX),在EsperIO包中提供
|
应用程序类
|
通过扩展API接口的插件式事件表示
|
类型 |
描述
|
语法
|
例子 |
简单属性
|
只有一个值的属性
|
name |
sensorId
|
索引属性
|
索引属性存储一个同类型的对象有序集合,集合中的每个元素都可以通过一个非负整数索引到
|
name[index]
|
sensor[0]
|
映射属性
|
映射属性存储一个同类型的关键字集合
|
name('key')
|
sensor('light')
|
嵌套属性
|
嵌套属性包括有额外的属性
|
name.nestedname
|
sensor.value
|
person.address('home').street[0]
select part1\.part2 from MyEvent,使用part1.part2从事件类型MyEvent中提取属性值。
select `order`,price as `price.for.goods` from Quote,声明的Quote事件有一个属性的名字是order,而order同时还是一个保留的关键字。
select `candidate book`, `children's books`[0], `book select`('isbn') from MyEventType,事件包括含空格(candidate book),含单引号(children's books)的索引属性(children's books[0])和含有关键字的映射属性(book select('isbn'))。
public class MyEventType { String myMapKey; int myIndexValue; int myInnerIndexValue; Map<String, InnerType> innerTypesMap;//mapped property InnerType[] innerTypesArray;//indexed property } public class InnerType { String name; int[] ids; }
select innerTypesMap('somekey'), //returns map value for 'somekey' innerTypesMap(myMapKey), //returns map value for myMapKey value(an expression) (expression) innerTypesArray[1], //return array value at index 1 innerTypesArray(myIndexValue) //return array value at index myIndexValue (an expression) from MyEventType
select innerTypesMap('somekey').ids[1], innerTypesMap(myMapKey).getIds(myIndexValue), innerTypesArray[1].ids[2], innerTypesArray(myIndexValue).getIds(myInnerIndexValue) from MyEventType
类型 | 语法 |
动态简单属性
|
name?
|
动态索引属性
|
name[index]?
|
动态映射属性
|
name('key')?
|
动态嵌套属性
|
name?.nestedPropertyName
|