com.espertech.esper.event.xml
Class XPathPropertyGetter

java.lang.Object
  extended by com.espertech.esper.event.xml.XPathPropertyGetter
All Implemented Interfaces:
EventPropertyGetter, TypedEventPropertyGetter

public class XPathPropertyGetter
extends Object
implements TypedEventPropertyGetter

Getter for properties of DOM xml events.

Author:
pablo

Constructor Summary
XPathPropertyGetter(String propertyName, XPathExpression xPathExpression, QName resultType)
          Ctor.
 
Method Summary
 Object get(EventBean eventBean)
          Return the value for the property in the event object specified when the instance was obtained.
 Class getResultClass()
          Returns type of event property.
 boolean isExistsProperty(EventBean eventBean)
          Returns true if the property exists, or false if the type does not have such a property.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XPathPropertyGetter

public XPathPropertyGetter(String propertyName,
                           XPathExpression xPathExpression,
                           QName resultType)
Ctor.

Parameters:
propertyName - is the name of the event property for which this getter gets values
xPathExpression - is a compile XPath expression
resultType - is the resulting type
Method Detail

get

public Object get(EventBean eventBean)
           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:
eventBean - 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

getResultClass

public Class getResultClass()
Description copied from interface: TypedEventPropertyGetter
Returns type of event property.

Specified by:
getResultClass in interface TypedEventPropertyGetter
Returns:
class of the objects returned by this getter

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

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com