|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.event.BaseConfigurableEventType
public abstract class BaseConfigurableEventType
EventType than can be supplied with a preconfigured list of properties getters (aka. explicit properties).
Field Summary | |
---|---|
protected java.util.Map<java.lang.String,EventPropertyDescriptor> |
propertyDescriptorMap
Descriptors for each known property. |
protected java.util.Map<java.lang.String,EventPropertyGetter> |
propertyGetters
Getters for each known property. |
Constructor Summary | |
---|---|
protected |
BaseConfigurableEventType(EventAdapterService eventAdapterService,
EventTypeMetadata metadata,
int eventTypeId,
java.lang.Class underlyngType)
Ctor. |
Method Summary | |
---|---|
protected abstract FragmentEventType |
doResolveFragmentType(java.lang.String property)
Subclasses must implement this and return a fragment type for a property. |
protected abstract EventPropertyGetter |
doResolvePropertyGetter(java.lang.String property)
Subclasses must implement this and supply a getter to a given property. |
protected abstract java.lang.Class |
doResolvePropertyType(java.lang.String property)
Subclasses must implement this and return a type for a property. |
EventAdapterService |
getEventAdapterService()
Returns the event adapter service. |
int |
getEventTypeId()
Returns the event type id assigned to the event type. |
FragmentEventType |
getFragmentType(java.lang.String property)
Returns the event type of the fragment that is the value of a property name or property expression. |
EventPropertyGetter |
getGetter(java.lang.String propertyExpression)
Get the getter of an event property or property expression: Getters are useful when an application receives events of the same event type multiple times and requires fast access to an event property or nested, indexed or mapped property. |
EventPropertyGetterIndexed |
getGetterIndexed(java.lang.String indexedProperty)
Get the getter of an event property that is a indexed event property: Getters are useful when an application receives events of the same event type multiple times and requires fast access to a indexed property. |
EventPropertyGetterMapped |
getGetterMapped(java.lang.String mappedProperty)
Get the getter of an event property that is a mapped event property: Getters are useful when an application receives events of the same event type multiple times and requires fast access to a mapped property. |
EventTypeMetadata |
getMetadata()
Returns the type metadata. |
java.lang.String |
getName()
Returns the type name or null if no type name is assigned. |
EventPropertyDescriptor |
getPropertyDescriptor(java.lang.String propertyName)
Get the property descriptor for a given property of the event, or null if a property by that name was not found. |
EventPropertyDescriptor[] |
getPropertyDescriptors()
Get property descriptors for the event type. |
java.lang.String[] |
getPropertyNames()
Get the property names for the event type. |
java.lang.Class |
getPropertyType(java.lang.String propertyExpression)
Get the type of an event property. |
java.lang.Class |
getUnderlyingType()
Get the class that represents the Java type of the event type. |
protected void |
initialize(java.util.List<ExplicitPropertyDescriptor> explicitProperties)
Sets explicit properties using a map of event property name and getter instance for each property. |
boolean |
isProperty(java.lang.String property)
Check that the given property name or property expression is valid for this event type, ie. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.espertech.esper.event.EventTypeSPI |
---|
equalsCompareType, getCopyMethod, getReader, getWritableProperty, getWriteableProperties, getWriter, getWriter |
Methods inherited from interface com.espertech.esper.client.EventType |
---|
getDeepSuperTypes, getEndTimestampPropertyName, getStartTimestampPropertyName, getSuperTypes |
Field Detail |
---|
protected java.util.Map<java.lang.String,EventPropertyGetter> propertyGetters
protected java.util.Map<java.lang.String,EventPropertyDescriptor> propertyDescriptorMap
Constructor Detail |
---|
protected BaseConfigurableEventType(EventAdapterService eventAdapterService, EventTypeMetadata metadata, int eventTypeId, java.lang.Class underlyngType)
underlyngType
- is the underlying type returned by the event typemetadata
- event type metadataeventAdapterService
- for dynamic event type creationMethod Detail |
---|
public int getEventTypeId()
EventType
getEventTypeId
in interface EventType
protected abstract EventPropertyGetter doResolvePropertyGetter(java.lang.String property)
property
- is the property expression
protected abstract java.lang.Class doResolvePropertyType(java.lang.String property)
property
- is the property expression
protected abstract FragmentEventType doResolveFragmentType(java.lang.String property)
property
- is the property expression
public java.lang.String getName()
EventType
A type name is available for application-configured event types and for event types that represent events of a stream populated by insert-into.
No type name is available for anonymous statement-specific event type.
getName
in interface EventType
public EventAdapterService getEventAdapterService()
protected void initialize(java.util.List<ExplicitPropertyDescriptor> explicitProperties)
explicitProperties
- property descriptors for explicit propertiespublic java.lang.Class getPropertyType(java.lang.String propertyExpression)
EventType
Returns null if the property name or property expression is not valid against the event type. Can also return null if a select-clause selects a constant null value.
The method takes a property name or property expression as a parameter. Property expressions may include indexed properties via the syntax "name[index]", mapped properties via the syntax "name('key')", nested properties via the syntax "outer.inner" or combinations thereof.
Returns unboxed (such as 'int.class') as well as boxed (java.lang.Integer) type.
getPropertyType
in interface EventType
propertyExpression
- is the property name or property expression
public java.lang.Class getUnderlyingType()
EventType
getUnderlyingType
in interface EventType
public EventPropertyGetter getGetter(java.lang.String propertyExpression)
EventType
Returns null if the property name or property expression is not valid against the event type.
The method takes a property name or property expression as a parameter. Property expressions may include indexed properties via the syntax "name[index]", mapped properties via the syntax "name('key')", nested properties via the syntax "outer.inner" or combinations thereof.
getGetter
in interface EventType
propertyExpression
- is the property name or property expression
public EventPropertyGetterMapped getGetterMapped(java.lang.String mappedProperty)
EventType
Returns null if the property name is not valid against the event type or the property is not a mapped property.
The method takes a mapped property name (and not a property expression) as a parameter.
getGetterMapped
in interface EventType
mappedProperty
- is the property name
public EventPropertyGetterIndexed getGetterIndexed(java.lang.String indexedProperty)
EventType
Returns null if the property name is not valid against the event type or the property is not an indexed property.
The method takes a indexed property name (and not a property expression) as a parameter.
getGetterIndexed
in interface EventType
indexedProperty
- is the property name
public FragmentEventType getFragmentType(java.lang.String property)
EventType
Returns null if the property name or property expression is not valid or does not return a fragment for the event type.
The EventPropertyDescriptor
provides a flag that indicates which properties
provide fragment events.
This is useful for navigating properties that are itself events or other well-defined types that the underlying event representation may represent as an event type. It is up to each event representation to determine what properties can be represented as event types themselves.
The method takes a property name or property expression as a parameter. Property expressions may include indexed properties via the syntax "name[index]", mapped properties via the syntax "name('key')", nested properties via the syntax "outer.inner" or combinations thereof.
The underlying event representation may not support providing fragments or therefore fragment event types for any or all properties, in which case the method returns null.
Use the EventType.getPropertyDescriptors()
method to obtain a list of properties for which a fragment event type
may be retrieved by this method.
getFragmentType
in interface EventType
property
- is the name of the property to return the fragment event type
public java.lang.String[] getPropertyNames()
EventType
Note that properties do not have a defined order. Your application should not rely on the order of properties returned by this method.
The method does not return property names of inner or nested types.
getPropertyNames
in interface EventType
public boolean isProperty(java.lang.String property)
EventType
The method takes a property name or property expression as a parameter. Property expressions may include indexed properties via the syntax "name[index]", mapped properties via the syntax "name('key')", nested properties via the syntax "outer.inner" or combinations thereof.
isProperty
in interface EventType
property
- is the property name or property expression to check
public EventPropertyDescriptor[] getPropertyDescriptors()
EventType
Note that properties do not have a defined order. Your application should not rely on the order of properties returned by this method.
The method does not return property information of inner or nested types.
getPropertyDescriptors
in interface EventType
public EventTypeMetadata getMetadata()
EventTypeSPI
getMetadata
in interface EventTypeSPI
public EventPropertyDescriptor getPropertyDescriptor(java.lang.String propertyName)
EventType
The property name parameter does accept a property expression. It therefore does not allow the indexed, mapped or nested property expression syntax and only returns the descriptor for the event type's known properties.
The method does not return property information of inner or nested types.
For returning a property descriptor for nested, indexed or mapped properties
use EventTypeUtility
.
getPropertyDescriptor
in interface EventType
propertyName
- property name
|
© 2006-2015 EsperTech Inc. All rights reserved. Visit us at espertech.com |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |