All Known Subinterfaces:
DynamicProperty
All Known Implementing Classes:
DynamicIndexedProperty, DynamicMappedProperty, DynamicSimpleProperty, IndexedProperty, MappedProperty, NestedProperty, PropertyBase, SimpleProperty

public interface Property
Interface for a property of an event of type BeanEventType (JavaBean event). Properties are designed to handle the different types of properties for such events: indexed, mapped, simple, nested, or a combination of those.
  • Method Details

    • getPropertyType

      EPTypeClass getPropertyType(BeanEventType eventType, BeanEventTypeFactory beanEventTypeFactory)
      Returns the property type.
      Parameters:
      eventType - is the event type representing the JavaBean
      beanEventTypeFactory - bean factory
      Returns:
      property type class
    • getGetter

      EventPropertyGetterSPI getGetter(BeanEventType eventType, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
      Returns value getter for the property of an event of the given event type.
      Parameters:
      eventType - is the type of event to make a getter for
      eventBeanTypedEventFactory - factory for event beans and event types
      beanEventTypeFactory - bean factory
      Returns:
      fast property value getter for property
    • getPropertyTypeMap

      EPType getPropertyTypeMap(Map optionalMapPropTypes, BeanEventTypeFactory beanEventTypeFactory)
      Returns the property type for use with Map event representations.
      Parameters:
      optionalMapPropTypes - a map-within-map type definition, if supplied, or null if not supplied
      beanEventTypeFactory - bean factory
      Returns:
      property type @param optionalMapPropTypes
    • getGetterMap

      MapEventPropertyGetter getGetterMap(Map optionalMapPropTypes, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
      Returns the getter-method for use with Map event representations.
      Parameters:
      optionalMapPropTypes - a map-within-map type definition, if supplied, or null if not supplied
      eventBeanTypedEventFactory - for resolving further map event types that are property types
      beanEventTypeFactory - bean factory
      Returns:
      getter for maps
    • getGetterObjectArray

      ObjectArrayEventPropertyGetter getGetterObjectArray(Map<String,Integer> indexPerProperty, Map<String,Object> nestableTypes, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
    • getPropertyTypeSchema

      SchemaItem getPropertyTypeSchema(SchemaElementComplex complexProperty)
      Returns the property type for use with DOM event representations.
      Parameters:
      complexProperty - a element-within-element type definition
      Returns:
      property type
    • getGetterDOM

      EventPropertyGetterSPI getGetterDOM(SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType xmlEventType, String propertyExpression)
      Returns the getter-method for use with XML DOM event representations.
      Parameters:
      complexProperty - a element-within-element type definition
      eventBeanTypedEventFactory - for resolving or creating further event types that are property types
      xmlEventType - the event type
      propertyExpression - the full property expression
      Returns:
      getter
    • getGetterDOM

      EventPropertyGetterSPI getGetterDOM()
      Returns the getter-method for use with XML DOM event representations.
      Returns:
      getter
    • toPropertyEPL

      void toPropertyEPL(StringWriter writer)
      Write the EPL-representation of the property.
      Parameters:
      writer - to write to
    • toPropertyArray

      String[] toPropertyArray()
      Return a String-array of atomic property names.
      Returns:
      array of atomic names in a property expression
    • isDynamic

      boolean isDynamic()
      Returns true for dynamic properties.
      Returns:
      false for not-dynamic properties, true for dynamic properties.
    • getPropertyNameAtomic

      String getPropertyNameAtomic()