public class IterableFieldPropertyGetter extends BaseNativePropertyGetter implements BeanEventPropertyGetter, EventPropertyGetterAndIndexed
Constructor and Description |
---|
IterableFieldPropertyGetter(Field field,
int index,
EventAdapterService eventAdapterService)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
Object |
getBeanProp(Object object)
Returns the property as an object.
|
Object |
getBeanPropInternal(Object object,
int index) |
boolean |
isBeanExistsProperty(Object object)
Returns true if the dynamic property exists.
|
boolean |
isExistsProperty(EventBean eventBean)
Returns true if the property exists, or false if the type does not have such a property.
|
String |
toString() |
getFragment, getFragmentDynamic
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFragment
public IterableFieldPropertyGetter(Field field, int index, EventAdapterService eventAdapterService)
field
- is the field to use to retrieve a value from the objectindex
- is tge index within the array to get the property fromeventAdapterService
- factory for event beans and event typespublic 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 getBeanProp(Object object) throws PropertyAccessException
BeanEventPropertyGetter
getBeanProp
in interface BeanEventPropertyGetter
object
- to evaluatePropertyAccessException
- if access failedpublic Object getBeanPropInternal(Object object, int index) throws PropertyAccessException
PropertyAccessException
public boolean isBeanExistsProperty(Object object)
BeanEventPropertyGetter
isBeanExistsProperty
in interface BeanEventPropertyGetter
object
- to evaluatepublic final Object get(EventBean obj) throws PropertyAccessException
EventPropertyGetter
get
in interface EventPropertyGetter
obj
- is the event to get the value of a property fromPropertyAccessException
- to indicate that property access failedpublic 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 exists