Class MapEventBean

java.lang.Object
com.espertech.esper.common.internal.event.map.MapEventBean
All Implemented Interfaces:
EventBean, EventBeanSPI, MappedEventBean

public class MapEventBean extends Object implements EventBeanSPI, MappedEventBean
Wrapper for events represented by a Map of key-value pairs that are the event properties. MapEventBean instances are equal if they have the same EventType and all property names and values are reference-equal.
  • Field Details

  • Constructor Details

    • MapEventBean

      public MapEventBean(Map<String,Object> properties, EventType eventType)
      Constructor for initialization with existing values. Makes a shallow copy of the supplied values to not be surprised by changing property values.
      Parameters:
      properties - are the event property values
      eventType - is the type of the event, i.e. describes the map entries
    • MapEventBean

      public MapEventBean(EventType eventType)
      Constructor for the mutable functions, e.g. only the type of values is known but not the actual values.
      Parameters:
      eventType - is the type of the event, i.e. describes the map entries
  • Method Details

    • 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
    • setUnderlying

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

      public Map<String,Object> getProperties()
      Returns the properties.
      Specified by:
      getProperties in interface MappedEventBean
      Returns:
      properties
    • 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
    • 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.
    • 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