java.lang.Object
com.espertech.esper.common.internal.event.bean.core.BeanEventBean
All Implemented Interfaces:
EventBean, EventBeanSPI

public class BeanEventBean extends Object implements EventBeanSPI
Wrapper for Java bean (POJO or regular) Java objects the represent events. Allows access to event properties, which is done through the getter supplied by the event type. EventType instances containing type information are obtained from BeanEventTypeFactory. Two BeanEventBean instances are equal if they have the same event type and refer to the same instance of event object. Clients that need to compute equality between Java beans wrapped by this class need to obtain the underlying object.
  • Constructor Details

    • BeanEventBean

      public BeanEventBean(Object theEvent, EventType eventType)
      Constructor.
      Parameters:
      theEvent - is the event object
      eventType - is the schema information for the event object.
  • Method Details

    • getUnderlying

      public Object getUnderlying()
      Description copied from interface: EventBean
      Get the underlying data object to this event wrapper.
      Specified by:
      getUnderlying in interface EventBean
      Returns:
      underlying data object, usually either a Map or a Java bean instance.
    • setUnderlying

      public void setUnderlying(Object underlying)
      Specified by:
      setUnderlying in interface EventBeanSPI
    • getEventType

      public EventType getEventType()
      Description copied from interface: EventBean
      Return the EventType instance that describes the set of properties available for this event.
      Specified by:
      getEventType in interface EventBean
      Returns:
      event type
    • get

      public Object get(String property) throws PropertyAccessException
      Description copied from interface: EventBean
      Returns the value of an event property for the given property name or property expression.

      Returns null if the property value is null. Throws an exception if the 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.

      Specified by:
      get in interface EventBean
      Parameters:
      property - - name or expression of the property whose value is to be retrieved
      Returns:
      the value of a property with the specified name.
      Throws:
      PropertyAccessException - - if there is no property of the specified name, or the property cannot be accessed
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getFragment

      public Object getFragment(String propertyExpression)
      Description copied from interface: EventBean
      Returns event beans or array of event bean 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 event bean 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.

      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.

      Specified by:
      getFragment in interface EventBean
      Parameters:
      propertyExpression - - name or expression of the property whose value is to be presented as an EventBean or array of EventBean
      Returns:
      the value of a property as an EventBean or array of EventBean