public class MapArrayPOJOEntryIndexedPropertyGetter extends BaseNativePropertyGetter implements MapEventPropertyGetter, MapEventPropertyGetterAndIndexed
Constructor and Description |
---|
MapArrayPOJOEntryIndexedPropertyGetter(String propertyMap,
int index,
EventAdapterService eventAdapterService,
Class returnType)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
CodegenExpression |
codegenEventBeanExists(CodegenExpression beanExpression,
CodegenContext context) |
CodegenExpression |
codegenEventBeanGet(CodegenExpression beanExpression,
CodegenContext context) |
CodegenExpression |
codegenUnderlyingExists(CodegenExpression underlyingExpression,
CodegenContext context) |
CodegenExpression |
codegenUnderlyingGet(CodegenExpression underlyingExpression,
CodegenContext context) |
Object |
get(EventBean obj)
Return the value for the property in the event object specified when the instance was obtained.
|
Object |
get(EventBean eventBean,
int index)
Return the value for the property in the event object specified when the instance was obtained.
|
Class |
getBeanPropType() |
Object |
getMap(Map<String,Object> map)
Returns a property of an event.
|
Class |
getTargetType() |
boolean |
isExistsProperty(EventBean eventBean)
Returns true if the property exists, or false if the type does not have such a property.
|
boolean |
isMapExistsProperty(Map<String,Object> map)
Exists-function for properties in a map-type event.
|
codegenEventBeanFragment, codegenUnderlyingFragment, getFragment, getFragmentDynamic, toFragmentArray, toFragmentIterable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
codegenEventBeanFragment, codegenUnderlyingFragment
getFragment
public MapArrayPOJOEntryIndexedPropertyGetter(String propertyMap, int index, EventAdapterService eventAdapterService, Class returnType)
propertyMap
- the property to use for the map lookupindex
- the index to fetch the array element foreventAdapterService
- factory for event beans and event typesreturnType
- type of the entry returnedpublic Object getMap(Map<String,Object> map) throws PropertyAccessException
MapEventPropertyGetter
getMap
in interface MapEventPropertyGetter
map
- to interrogatePropertyAccessException
- for property access errorspublic boolean isMapExistsProperty(Map<String,Object> map)
MapEventPropertyGetter
isMapExistsProperty
in interface MapEventPropertyGetter
map
- to interrogatepublic Object get(EventBean eventBean, int index) throws PropertyAccessException
EventPropertyGetterIndexed
get
in interface EventPropertyGetterIndexed
eventBean
- is the event to get the value of a property fromindex
- the index valuePropertyAccessException
- to indicate that property access failedpublic 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 CodegenExpression codegenEventBeanGet(CodegenExpression beanExpression, CodegenContext context)
codegenEventBeanGet
in interface EventPropertyGetterSPI
public CodegenExpression codegenEventBeanExists(CodegenExpression beanExpression, CodegenContext context)
codegenEventBeanExists
in interface EventPropertyGetterSPI
public CodegenExpression codegenUnderlyingGet(CodegenExpression underlyingExpression, CodegenContext context)
codegenUnderlyingGet
in interface EventPropertyGetterSPI
public CodegenExpression codegenUnderlyingExists(CodegenExpression underlyingExpression, CodegenContext context)
codegenUnderlyingExists
in interface EventPropertyGetterSPI
public Class getTargetType()
getTargetType
in class BaseNativePropertyGetter
public Class getBeanPropType()
getBeanPropType
in class BaseNativePropertyGetter