com.espertech.esper.event.map
Class MapNestedEntryPropertyGetterBase

java.lang.Object
  extended by com.espertech.esper.event.map.MapNestedEntryPropertyGetterBase
All Implemented Interfaces:
EventPropertyGetter, MapEventPropertyGetter
Direct Known Subclasses:
MapNestedEntryPropertyGetterArrayMap, MapNestedEntryPropertyGetterArrayObjectArray, MapNestedEntryPropertyGetterMap, MapNestedEntryPropertyGetterObjectArray

public abstract class MapNestedEntryPropertyGetterBase
extends java.lang.Object
implements MapEventPropertyGetter


Field Summary
protected  EventAdapterService eventAdapterService
           
protected  EventType fragmentType
           
protected  java.lang.String propertyMap
           
 
Constructor Summary
MapNestedEntryPropertyGetterBase(java.lang.String propertyMap, EventType fragmentType, EventAdapterService eventAdapterService)
          Ctor.
 
Method Summary
 java.lang.Object get(EventBean obj)
          Return the value for the property in the event object specified when the instance was obtained.
 java.lang.Object getFragment(EventBean obj)
          Returns EventBean or array of EventBean for a property name or property expression.
 java.lang.Object getMap(java.util.Map<java.lang.String,java.lang.Object> map)
          Returns a property of an event.
abstract  java.lang.Object handleNestedValue(java.lang.Object value)
           
abstract  java.lang.Object handleNestedValueFragment(java.lang.Object value)
           
 boolean isExistsProperty(EventBean eventBean)
          Returns true if the property exists, or false if the type does not have such a property.
 boolean isMapExistsProperty(java.util.Map<java.lang.String,java.lang.Object> map)
          Exists-function for properties in a map-type event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertyMap

protected final java.lang.String propertyMap

fragmentType

protected final EventType fragmentType

eventAdapterService

protected final EventAdapterService eventAdapterService
Constructor Detail

MapNestedEntryPropertyGetterBase

public MapNestedEntryPropertyGetterBase(java.lang.String propertyMap,
                                        EventType fragmentType,
                                        EventAdapterService eventAdapterService)
Ctor.

Parameters:
propertyMap - the property to look at
eventAdapterService - factory for event beans and event types
fragmentType - type of the entry returned
Method Detail

handleNestedValue

public abstract java.lang.Object handleNestedValue(java.lang.Object value)

handleNestedValueFragment

public abstract java.lang.Object handleNestedValueFragment(java.lang.Object value)

getMap

public java.lang.Object getMap(java.util.Map<java.lang.String,java.lang.Object> map)
                        throws PropertyAccessException
Description copied from interface: MapEventPropertyGetter
Returns a property of an event.

Specified by:
getMap in interface MapEventPropertyGetter
Parameters:
map - to interrogate
Returns:
property value
Throws:
PropertyAccessException - for property access errors

isMapExistsProperty

public boolean isMapExistsProperty(java.util.Map<java.lang.String,java.lang.Object> map)
Description copied from interface: MapEventPropertyGetter
Exists-function for properties in a map-type event.

Specified by:
isMapExistsProperty in interface MapEventPropertyGetter
Parameters:
map - to interrogate
Returns:
indicator

get

public java.lang.Object get(EventBean obj)
Description copied from interface: EventPropertyGetter
Return the value for the property in the event object specified when the instance was obtained. Useful for fast access to event properties. Throws a PropertyAccessException if the getter instance doesn't match the EventType it was obtained from, and to indicate other property access problems.

Specified by:
get in interface EventPropertyGetter
Parameters:
obj - is the event to get the value of a property from
Returns:
value of property in event

isExistsProperty

public boolean isExistsProperty(EventBean eventBean)
Description copied from interface: EventPropertyGetter
Returns true if the property exists, or false if the type does not have such a property.

Useful for dynamic properties of the syntax "property?" and the dynamic nested/indexed/mapped versions. Dynamic nested properties follow the syntax "property?.nested" which is equivalent to "property?.nested?". If any of the properties in the path of a dynamic nested property return null, the dynamic nested property does not exists and the method returns false.

For non-dynamic properties, this method always returns true since a getter would not be available unless

Specified by:
isExistsProperty in interface EventPropertyGetter
Parameters:
eventBean - is the event to check if the dynamic property exists
Returns:
indictor whether the property exists, always true for non-dynamic (default) properties

getFragment

public java.lang.Object getFragment(EventBean obj)
Description copied from interface: EventPropertyGetter
Returns EventBean or array of EventBean for a property name or property expression.

For use with properties whose value is itself an event or whose value can be represented as an event by the underlying event representation.

The EventType of the EventBean instance(s) returned by this method can be determined by EventType.getFragmentType(String). Use EventPropertyDescriptor to obtain a list of properties that return fragments from an event type.

Returns null if the property value is null or the property value cannot be represented as a fragment by the underlying representation.

Specified by:
getFragment in interface EventPropertyGetter
Parameters:
obj - is the event to get the fragment value of a property
Returns:
the value of a property as an EventBean or array of EventBean

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com