java.lang.Object
com.espertech.esper.common.internal.event.property.NestedProperty
All Implemented Interfaces:
Property

public class NestedProperty extends Object implements Property
This class represents a nested property, each nesting level made up of a property instance that can be of type indexed, mapped or simple itself.

The syntax for nested properties is as follows.

 a.n
 a[1].n
 a('1').n
 
  • Constructor Details

    • NestedProperty

      public NestedProperty(List<Property> properties)
      Ctor.
      Parameters:
      properties - is the list of Property instances representing each nesting level
  • Method Details

    • getProperties

      public List<Property> getProperties()
      Returns the list of property instances making up the nesting levels.
      Returns:
      list of Property instances
    • isDynamic

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

      public EventPropertyGetterSPI 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 MapEventPropertyGetter 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
    • 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
    • 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 parentComplexProperty, 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:
      parentComplexProperty - 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 parentComplexProperty)
      Description copied from interface: Property
      Returns the property type for use with DOM event representations.
      Specified by:
      getPropertyTypeSchema in interface Property
      Parameters:
      parentComplexProperty - a element-within-element type definition
      Returns:
      property type
    • getGetterObjectArray

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

      public String getPropertyNameAtomic()
      Specified by:
      getPropertyNameAtomic in interface Property