java.lang.Object
com.espertech.esper.common.internal.event.property.PropertyBase
com.espertech.esper.common.internal.event.property.IndexedProperty
All Implemented Interfaces:
Property, PropertyWithIndex

public class IndexedProperty extends PropertyBase implements PropertyWithIndex
Represents an indexed property or array property, ie. an 'value' property with read method getValue(int index) or a 'array' property via read method getArray() returning an array.
  • Constructor Details

    • IndexedProperty

      public IndexedProperty(String propertyName)
    • IndexedProperty

      public IndexedProperty(String propertyName, int index)
      Ctor.
      Parameters:
      propertyName - is the property name
      index - is the index to use to access the property value
  • Method Details

    • isDynamic

      public boolean isDynamic()
      Description copied from interface: Property
      Returns true for dynamic properties.
      Specified by:
      isDynamic in interface Property
      Overrides:
      isDynamic in class PropertyBase
      Returns:
      false for not-dynamic properties, true for dynamic properties.
    • toPropertyArray

      public String[] toPropertyArray()
      Description copied from interface: Property
      Return a String-array of atomic property names.
      Specified by:
      toPropertyArray in interface Property
      Returns:
      array of atomic names in a property expression
    • getIndex

      public int getIndex()
      Returns index for indexed access.
      Specified by:
      getIndex in interface PropertyWithIndex
      Returns:
      index value
    • getGetter

      public EventPropertyGetterAndIndexed getGetter(BeanEventType eventType, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
      Description copied from interface: Property
      Returns value getter for the property of an event of the given event type.
      Specified by:
      getGetter in interface Property
      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
    • getPropertyType

      public EPTypeClass getPropertyType(BeanEventType eventType, BeanEventTypeFactory beanEventTypeFactory)
      Description copied from interface: Property
      Returns the property type.
      Specified by:
      getPropertyType in interface Property
      Parameters:
      eventType - is the event type representing the JavaBean
      beanEventTypeFactory - bean factory
      Returns:
      property type class
    • getPropertyTypeMap

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

      public MapEventPropertyGetterAndIndexed getGetterMap(Map optionalMapPropTypes, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
      Description copied from interface: Property
      Returns the getter-method for use with Map event representations.
      Specified by:
      getGetterMap in interface Property
      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
    • toPropertyEPL

      public void toPropertyEPL(StringWriter writer)
      Description copied from interface: Property
      Write the EPL-representation of the property.
      Specified by:
      toPropertyEPL in interface Property
      Parameters:
      writer - to write to
    • getGetterDOM

      public EventPropertyGetterSPI getGetterDOM()
      Description copied from interface: Property
      Returns the getter-method for use with XML DOM event representations.
      Specified by:
      getGetterDOM in interface Property
      Returns:
      getter
    • getGetterDOM

      public EventPropertyGetterSPI getGetterDOM(SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType eventType, String propertyExpression)
      Description copied from interface: Property
      Returns the getter-method for use with XML DOM event representations.
      Specified by:
      getGetterDOM in interface Property
      Parameters:
      complexProperty - a element-within-element type definition
      eventBeanTypedEventFactory - for resolving or creating further event types that are property types
      eventType - the event type
      propertyExpression - the full property expression
      Returns:
      getter
    • getPropertyTypeSchema

      public SchemaItem getPropertyTypeSchema(SchemaElementComplex complexProperty)
      Description copied from interface: Property
      Returns the property type for use with DOM event representations.
      Specified by:
      getPropertyTypeSchema in interface Property
      Parameters:
      complexProperty - a element-within-element type definition
      Returns:
      property type
    • getIndex

      public static Integer getIndex(String propertyName)
      Returns the index number for an indexed property expression.
      Parameters:
      propertyName - property expression
      Returns:
      index
    • getGetterObjectArray

      public ObjectArrayEventPropertyGetterAndIndexed getGetterObjectArray(Map<String,Integer> indexPerProperty, Map<String,Object> nestableTypes, EventBeanTypedEventFactory eventBeanTypedEventFactory, BeanEventTypeFactory beanEventTypeFactory)
      Specified by:
      getGetterObjectArray in interface Property