public abstract class ObjectArrayNestedEntryPropertyGetterBase extends java.lang.Object implements ObjectArrayEventPropertyGetter
Modifier and Type | Field and Description |
---|---|
protected EventAdapterService |
eventAdapterService |
protected EventType |
fragmentType |
protected int |
propertyIndex |
Constructor and Description |
---|
ObjectArrayNestedEntryPropertyGetterBase(int propertyIndex,
EventType fragmentType,
EventAdapterService eventAdapterService)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
CodegenExpression |
eventBeanExistsCodegen(CodegenExpression beanExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
CodegenExpression |
eventBeanFragmentCodegen(CodegenExpression beanExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
CodegenExpression |
eventBeanGetCodegen(CodegenExpression beanExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
java.lang.Object |
get(EventBean obj)
Return the value for the property in the event object specified when the instance was obtained.
|
java.lang.Object |
getFragment(EventBean obj)
|
java.lang.Object |
getObjectArray(java.lang.Object[] array)
Returns a property of an event.
|
abstract java.lang.Object |
handleNestedValue(java.lang.Object value) |
abstract CodegenExpression |
handleNestedValueCodegen(CodegenExpression refName,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
abstract boolean |
handleNestedValueExists(java.lang.Object value) |
abstract CodegenExpression |
handleNestedValueExistsCodegen(CodegenExpression refName,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
abstract java.lang.Object |
handleNestedValueFragment(java.lang.Object value) |
abstract CodegenExpression |
handleNestedValueFragmentCodegen(CodegenExpression refName,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
boolean |
isExistsProperty(EventBean eventBean)
Returns true if the property exists, or false if the type does not have such a property.
|
boolean |
isObjectArrayExistsProperty(java.lang.Object[] array)
Exists-function for properties in a object array-type event.
|
CodegenExpression |
underlyingExistsCodegen(CodegenExpression underlyingExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
CodegenExpression |
underlyingFragmentCodegen(CodegenExpression underlyingExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
CodegenExpression |
underlyingGetCodegen(CodegenExpression underlyingExpression,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
protected final int propertyIndex
protected final EventType fragmentType
protected final EventAdapterService eventAdapterService
public ObjectArrayNestedEntryPropertyGetterBase(int propertyIndex, EventType fragmentType, EventAdapterService eventAdapterService)
propertyIndex
- the property to look ateventAdapterService
- factory for event beans and event typesfragmentType
- type of the entry returnedpublic abstract java.lang.Object handleNestedValue(java.lang.Object value)
public abstract boolean handleNestedValueExists(java.lang.Object value)
public abstract java.lang.Object handleNestedValueFragment(java.lang.Object value)
public abstract CodegenExpression handleNestedValueCodegen(CodegenExpression refName, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
public abstract CodegenExpression handleNestedValueExistsCodegen(CodegenExpression refName, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
public abstract CodegenExpression handleNestedValueFragmentCodegen(CodegenExpression refName, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
public java.lang.Object getObjectArray(java.lang.Object[] array) throws PropertyAccessException
ObjectArrayEventPropertyGetter
getObjectArray
in interface ObjectArrayEventPropertyGetter
array
- to interrogatePropertyAccessException
- for property access errorspublic boolean isObjectArrayExistsProperty(java.lang.Object[] array)
ObjectArrayEventPropertyGetter
isObjectArrayExistsProperty
in interface ObjectArrayEventPropertyGetter
array
- to interrogatepublic java.lang.Object get(EventBean obj)
EventPropertyGetter
get
in interface EventPropertyGetter
obj
- is the event to get the value of a property frompublic boolean isExistsProperty(EventBean eventBean)
EventPropertyGetter
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
isExistsProperty
in interface EventPropertyGetter
eventBean
- is the event to check if the dynamic property existspublic java.lang.Object getFragment(EventBean obj)
EventPropertyGetter
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.
getFragment
in interface EventPropertyGetter
obj
- is the event to get the fragment value of a propertypublic CodegenExpression eventBeanGetCodegen(CodegenExpression beanExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
eventBeanGetCodegen
in interface EventPropertyGetterSPI
public CodegenExpression eventBeanExistsCodegen(CodegenExpression beanExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
eventBeanExistsCodegen
in interface EventPropertyGetterSPI
public CodegenExpression eventBeanFragmentCodegen(CodegenExpression beanExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
eventBeanFragmentCodegen
in interface EventPropertyGetterSPI
public CodegenExpression underlyingGetCodegen(CodegenExpression underlyingExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
underlyingGetCodegen
in interface EventPropertyGetterSPI
public CodegenExpression underlyingExistsCodegen(CodegenExpression underlyingExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
underlyingExistsCodegen
in interface EventPropertyGetterSPI
public CodegenExpression underlyingFragmentCodegen(CodegenExpression underlyingExpression, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
underlyingFragmentCodegen
in interface EventPropertyGetterSPI