Interface EventPropertyGetter

All Superinterfaces:
EventPropertyValueGetter

public interface EventPropertyGetter extends EventPropertyValueGetter
Get property values from an event instance for a given event property. Instances that implement this interface are usually bound to a particular EventType and cannot be used to access EventBean instances of a different type.
  • Method Details

    • isExistsProperty

      boolean isExistsProperty(EventBean eventBean)
      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

      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

      Object getFragment(EventBean eventBean) throws PropertyAccessException
      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.

      Parameters:
      eventBean - is the event to get the fragment value of a property
      Returns:
      the value of a property as an EventBean or array of EventBean
      Throws:
      PropertyAccessException - - if there is no property of the specified name, or the property cannot be accessed