com.espertech.esper.event.bean
Class ReflectionPropMethodGetter

java.lang.Object
  extended by com.espertech.esper.event.bean.BaseNativePropertyGetter
      extended by com.espertech.esper.event.bean.ReflectionPropMethodGetter
All Implemented Interfaces:
EventPropertyGetter, BeanEventPropertyGetter

public final class ReflectionPropMethodGetter
extends BaseNativePropertyGetter
implements BeanEventPropertyGetter

Property getter for methods using Java's vanilla reflection.


Constructor Summary
ReflectionPropMethodGetter(java.lang.reflect.Method method, EventAdapterService eventAdapterService)
          Constructor.
 
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 getBeanProp(java.lang.Object object)
          Returns the property as an object.
 boolean isBeanExistsProperty(java.lang.Object object)
          Returns true if the dynamic property exists.
 boolean isExistsProperty(EventBean eventBean)
          Returns true if the property exists, or false if the type does not have such a property.
 java.lang.String toString()
           
 
Methods inherited from class com.espertech.esper.event.bean.BaseNativePropertyGetter
getFragment, getFragmentDynamic
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.espertech.esper.client.EventPropertyGetter
getFragment
 

Constructor Detail

ReflectionPropMethodGetter

public ReflectionPropMethodGetter(java.lang.reflect.Method method,
                                  EventAdapterService eventAdapterService)
Constructor.

Parameters:
method - is the regular reflection method to use to obtain values for a field.
eventAdapterService - factory for event beans and event types
Method Detail

getBeanProp

public java.lang.Object getBeanProp(java.lang.Object object)
                             throws PropertyAccessException
Description copied from interface: BeanEventPropertyGetter
Returns the property as an object.

Specified by:
getBeanProp in interface BeanEventPropertyGetter
Parameters:
object - to evaluate
Returns:
property of object
Throws:
PropertyAccessException - if access failed

isBeanExistsProperty

public boolean isBeanExistsProperty(java.lang.Object object)
Description copied from interface: BeanEventPropertyGetter
Returns true if the dynamic property exists.

Specified by:
isBeanExistsProperty in interface BeanEventPropertyGetter
Parameters:
object - to evaluate
Returns:
indicator if property exists

get

public final java.lang.Object get(EventBean obj)
                           throws PropertyAccessException
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
Throws:
PropertyAccessException - to indicate that property access failed

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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

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