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:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable,Pointer
public class BeanPropertyPointer extends PropertyPointer
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ObjectbaseValueprivate JXPathBeanInfobeanInfoprivate java.lang.String[]namesprivate java.beans.PropertyDescriptorpropertyDescriptorprivate java.beans.PropertyDescriptor[]propertyDescriptorsprivate java.lang.StringpropertyNameprivate static longserialVersionUIDprivate static java.lang.ObjectUNINITIALIZEDprivate java.lang.Objectvalue-
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
Constructors Constructor Description BeanPropertyPointer(NodePointer parent, JXPathBeanInfo beanInfo)Create a new BeanPropertyPointer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NodePointercreatePath(JXPathContext context)Called by a child pointer when it needs to create a parent object.java.lang.ObjectgetBaseValue()Get the value of the currently selected property.java.lang.ObjectgetImmediateNode()If index == WHOLE_COLLECTION, the value of the property, otherwise the value of the index'th element of the collection represented by the property.intgetLength()If the property contains a collection, then the length of that collection, otherwise - 1.intgetPropertyCount()Count the number of properties represented.private java.beans.PropertyDescriptorgetPropertyDescriptor()Finds the property descriptor corresponding to the current property index.protected java.beans.PropertyDescriptor[]getPropertyDescriptors()Get all PropertyDescriptors.java.lang.StringgetPropertyName()Get the name of the currently selected property.java.lang.String[]getPropertyNames()Get the names of all properties, sorted alphabeticallyprotected booleanisActualProperty()Learn whether this pointer references an actual property.booleanisCollection()Returnstrueif the value of the pointer is an array or a Collection.booleanisContainer()This type of node is auxiliary.voidremove()Remove the node of the object graph this pointer points to.voidsetIndex(int index)Set the index of this NodePointer.voidsetPropertyIndex(int index)Selects a property by its offset in the alphabetically sorted list.voidsetPropertyName(java.lang.String propertyName)Select a property by name.voidsetValue(java.lang.Object value)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 Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
UNINITIALIZED
private static final java.lang.Object UNINITIALIZED
-
propertyName
private java.lang.String propertyName
-
beanInfo
private JXPathBeanInfo beanInfo
-
baseValue
private java.lang.Object baseValue
-
value
private java.lang.Object value
-
names
private transient java.lang.String[] names
-
propertyDescriptors
private transient java.beans.PropertyDescriptor[] propertyDescriptors
-
propertyDescriptor
private transient java.beans.PropertyDescriptor propertyDescriptor
-
-
Constructor Detail
-
BeanPropertyPointer
public BeanPropertyPointer(NodePointer parent, JXPathBeanInfo beanInfo)
Create a new BeanPropertyPointer.- Parameters:
parent- parent pointerbeanInfo- describes the target property/ies.
-
-
Method Detail
-
isContainer
public boolean isContainer()
This type of node is auxiliary.- Overrides:
isContainerin classNodePointer- Returns:
- true
-
getPropertyCount
public int getPropertyCount()
Description copied from class:PropertyPointerCount the number of properties represented.- Specified by:
getPropertyCountin classPropertyPointer- Returns:
- int
-
getPropertyNames
public java.lang.String[] getPropertyNames()
Get the names of all properties, sorted alphabetically- Specified by:
getPropertyNamesin classPropertyPointer- Returns:
- String[]
-
setPropertyName
public void setPropertyName(java.lang.String propertyName)
Select a property by name.- Specified by:
setPropertyNamein classPropertyPointer- Parameters:
propertyName- String name
-
setPropertyIndex
public void setPropertyIndex(int index)
Selects a property by its offset in the alphabetically sorted list.- Overrides:
setPropertyIndexin classPropertyPointer- Parameters:
index- property index
-
getBaseValue
public java.lang.Object getBaseValue()
Get the value of the currently selected property.- Specified by:
getBaseValuein classNodePointer- Returns:
- Object value
-
setIndex
public void setIndex(int index)
Description copied from class:NodePointerSet the index of this NodePointer.- Overrides:
setIndexin classNodePointer- Parameters:
index- int
-
getImmediateNode
public java.lang.Object 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:
getImmediateNodein classPropertyPointer- Returns:
- Object
-
isActualProperty
protected boolean isActualProperty()
Description copied from class:PropertyPointerLearn whether this pointer references an actual property.- Specified by:
isActualPropertyin classPropertyPointer- Returns:
- true if actual
-
isCollection
public boolean isCollection()
Description copied from class:NodePointerReturnstrueif the value of the pointer is an array or a Collection.- Overrides:
isCollectionin classPropertyPointer- Returns:
- boolean
-
getLength
public int getLength()
If the property contains a collection, then the length of that collection, otherwise - 1.- Overrides:
getLengthin classPropertyPointer- Returns:
- int length
-
setValue
public void setValue(java.lang.Object value)
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:
setValuein interfacePointer- Specified by:
setValuein classNodePointer- Parameters:
value- value to set
-
createPath
public NodePointer createPath(JXPathContext context)
Description copied from class:NodePointerCalled 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:
createPathin classPropertyPointer- Parameters:
context- the owning JXPathContext- Returns:
- created NodePointer
-
remove
public void remove()
Description copied from class:NodePointerRemove the node of the object graph this pointer points to.- Overrides:
removein classNodePointer
-
getPropertyName
public java.lang.String getPropertyName()
Get the name of the currently selected property.- Specified by:
getPropertyNamein classPropertyPointer- Returns:
- String property name
-
getPropertyDescriptor
private java.beans.PropertyDescriptor getPropertyDescriptor()
Finds the property descriptor corresponding to the current property index.- Returns:
- PropertyDescriptor
-
getPropertyDescriptors
protected java.beans.PropertyDescriptor[] getPropertyDescriptors()
Get all PropertyDescriptors.- Returns:
- PropertyDescriptor[]
-
-