Class BeanPropertyPointer
java.lang.Object
org.apache.commons.jxpath.ri.model.NodePointer
org.apache.commons.jxpath.ri.model.beans.PropertyPointer
org.apache.commons.jxpath.ri.model.beans.BeanPropertyPointer
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable
,Pointer
Pointer pointing to a property of a JavaBean.
- Version:
- $Revision: 670727 $ $Date: 2008-06-23 15:10:38 -0500 (Mon, 23 Jun 2008) $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Object
private JXPathBeanInfo
private String[]
private PropertyDescriptor
private PropertyDescriptor[]
private String
private static final long
private static final Object
private Object
Fields inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyPointer
bean, propertyIndex, UNSPECIFIED_PROPERTY
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
-
Constructor Summary
ConstructorsConstructorDescriptionBeanPropertyPointer
(NodePointer parent, JXPathBeanInfo beanInfo) Create a new BeanPropertyPointer. -
Method Summary
Modifier and TypeMethodDescriptioncreatePath
(JXPathContext context) Called by a child pointer when it needs to create a parent object.Get the value of the currently selected property.If index == WHOLE_COLLECTION, the value of the property, otherwise the value of the index'th element of the collection represented by the property.int
If the property contains a collection, then the length of that collection, otherwise - 1.int
Count the number of properties represented.private PropertyDescriptor
Finds the property descriptor corresponding to the current property index.protected PropertyDescriptor[]
Get all PropertyDescriptors.Get the name of the currently selected property.String[]
Get the names of all properties, sorted alphabeticallyprotected boolean
Learn whether this pointer references an actual property.boolean
Returnstrue
if the value of the pointer is an array or a Collection.boolean
This type of node is auxiliary.void
remove()
Remove the node of the object graph this pointer points to.void
setIndex
(int index) Set the index of this NodePointer.void
setPropertyIndex
(int index) Selects a property by its offset in the alphabetically sorted list.void
setPropertyName
(String propertyName) Select a property by name.void
If index == WHOLE_COLLECTION, change the value of the property, otherwise change the value of the index'th element of the collection represented by the property.Methods inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyPointer
compareChildNodePointers, createChild, createChild, createPath, equals, getBean, getImmediateValuePointer, getName, getPropertyIndex, hashCode, isActual, isLeaf
Methods inherited from class org.apache.commons.jxpath.ri.model.NodePointer
asPath, attributeIterator, childIterator, clone, compareTo, createAttribute, escape, getAbstractFactory, getDefaultNamespaceURI, getImmediateParentPointer, getIndex, getLocale, getNamespaceResolver, getNamespaceURI, getNamespaceURI, getNode, getNodeSetByKey, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValue, getValuePointer, isAttribute, isDefaultNamespace, isLanguage, isNode, isRoot, namespaceIterator, namespacePointer, newChildNodePointer, newNodePointer, printPointerChain, setAttribute, setNamespaceResolver, testNode, toString
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
UNINITIALIZED
-
propertyName
-
beanInfo
-
baseValue
-
value
-
names
-
propertyDescriptors
-
propertyDescriptor
-
-
Constructor Details
-
BeanPropertyPointer
Create a new BeanPropertyPointer.- Parameters:
parent
- parent pointerbeanInfo
- describes the target property/ies.
-
-
Method Details
-
isContainer
public boolean isContainer()This type of node is auxiliary.- Overrides:
isContainer
in classNodePointer
- Returns:
- true
-
getPropertyCount
public int getPropertyCount()Description copied from class:PropertyPointer
Count the number of properties represented.- Specified by:
getPropertyCount
in classPropertyPointer
- Returns:
- int
-
getPropertyNames
Get the names of all properties, sorted alphabetically- Specified by:
getPropertyNames
in classPropertyPointer
- Returns:
- String[]
-
setPropertyName
Select a property by name.- Specified by:
setPropertyName
in classPropertyPointer
- Parameters:
propertyName
- String name
-
setPropertyIndex
public void setPropertyIndex(int index) Selects a property by its offset in the alphabetically sorted list.- Overrides:
setPropertyIndex
in classPropertyPointer
- Parameters:
index
- property index
-
getBaseValue
Get the value of the currently selected property.- Specified by:
getBaseValue
in classNodePointer
- Returns:
- Object value
-
setIndex
public void setIndex(int index) Description copied from class:NodePointer
Set the index of this NodePointer.- Overrides:
setIndex
in classNodePointer
- Parameters:
index
- int
-
getImmediateNode
If index == WHOLE_COLLECTION, the value of the property, otherwise the value of the index'th element of the collection represented by the property. If the property is not a collection, index should be zero and the value will be the property itself.- Overrides:
getImmediateNode
in classPropertyPointer
- Returns:
- Object
-
isActualProperty
protected boolean isActualProperty()Description copied from class:PropertyPointer
Learn whether this pointer references an actual property.- Specified by:
isActualProperty
in classPropertyPointer
- Returns:
- true if actual
-
isCollection
public boolean isCollection()Description copied from class:NodePointer
Returnstrue
if the value of the pointer is an array or a Collection.- Overrides:
isCollection
in classPropertyPointer
- Returns:
- boolean
-
getLength
public int getLength()If the property contains a collection, then the length of that collection, otherwise - 1.- Overrides:
getLength
in classPropertyPointer
- Returns:
- int length
-
setValue
If index == WHOLE_COLLECTION, change the value of the property, otherwise change the value of the index'th element of the collection represented by the property.- Specified by:
setValue
in interfacePointer
- Specified by:
setValue
in classNodePointer
- Parameters:
value
- value to set
-
createPath
Description copied from class:NodePointer
Called by a child pointer when it needs to create a parent object. Must create an object described by this pointer and return a new pointer that properly describes the new object.- Overrides:
createPath
in classPropertyPointer
- Parameters:
context
- the owning JXPathContext- Returns:
- created NodePointer
-
remove
public void remove()Description copied from class:NodePointer
Remove the node of the object graph this pointer points to.- Overrides:
remove
in classNodePointer
-
getPropertyName
Get the name of the currently selected property.- Specified by:
getPropertyName
in classPropertyPointer
- Returns:
- String property name
-
getPropertyDescriptor
Finds the property descriptor corresponding to the current property index.- Returns:
- PropertyDescriptor
-
getPropertyDescriptors
Get all PropertyDescriptors.- Returns:
- PropertyDescriptor[]
-