Class BeanPointer
- java.lang.Object
-
- org.apache.commons.jxpath.ri.model.NodePointer
-
- org.apache.commons.jxpath.ri.model.beans.PropertyOwnerPointer
-
- org.apache.commons.jxpath.ri.model.beans.BeanPointer
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable
,Pointer
public class BeanPointer extends PropertyOwnerPointer
A Pointer that points to a JavaBean or a collection. It is either the first element of a path or a pointer for a property value. Typically there is aBeanPropertyPointer
between two BeanPointers in the chain.- 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.Object
bean
private JXPathBeanInfo
beanInfo
private QName
name
private static long
serialVersionUID
-
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
-
-
Constructor Summary
Constructors Constructor Description BeanPointer(NodePointer parent, QName name, java.lang.Object bean, JXPathBeanInfo beanInfo)
Create a new BeanPointer.BeanPointer(QName name, java.lang.Object bean, JXPathBeanInfo beanInfo, java.util.Locale locale)
Create a new BeanPointer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
asPath()
Returns an XPath that maps to this Pointer.boolean
equals(java.lang.Object object)
java.lang.Object
getBaseValue()
Returns the value represented by the pointer before indexing.int
getLength()
If the pointer represents a collection (or collection element), returns the length of the collection.QName
getName()
Returns the name of this node.PropertyPointer
getPropertyPointer()
Get a PropertyPointer for this PropertyOwnerPointer.int
hashCode()
boolean
isCollection()
Returnstrue
if the value of the pointer is an array or a Collection.boolean
isLeaf()
If true, this node does not have children-
Methods inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyOwnerPointer
attributeIterator, childIterator, compareChildNodePointers, createNodeIterator, getImmediateNode, isDynamicPropertyDeclarationSupported, isValidProperty, remove, setIndex, setValue
-
Methods inherited from class org.apache.commons.jxpath.ri.model.NodePointer
clone, compareTo, createAttribute, createChild, createChild, createPath, createPath, escape, getAbstractFactory, getDefaultNamespaceURI, getImmediateParentPointer, getImmediateValuePointer, getIndex, getLocale, getNamespaceResolver, getNamespaceURI, getNamespaceURI, getNode, getNodeSetByKey, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValue, getValuePointer, isActual, isAttribute, isContainer, isDefaultNamespace, isLanguage, isNode, isRoot, namespaceIterator, namespacePointer, newChildNodePointer, newNodePointer, printPointerChain, setAttribute, setNamespaceResolver, testNode, toString
-
-
-
-
Field Detail
-
name
private QName name
-
bean
private java.lang.Object bean
-
beanInfo
private JXPathBeanInfo beanInfo
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BeanPointer
public BeanPointer(QName name, java.lang.Object bean, JXPathBeanInfo beanInfo, java.util.Locale locale)
Create a new BeanPointer.- Parameters:
name
- is the name given to the first nodebean
- pointedbeanInfo
- JXPathBeanInfolocale
- Locale
-
BeanPointer
public BeanPointer(NodePointer parent, QName name, java.lang.Object bean, JXPathBeanInfo beanInfo)
Create a new BeanPointer.- Parameters:
parent
- pointername
- is the name given to the first nodebean
- pointedbeanInfo
- JXPathBeanInfo
-
-
Method Detail
-
getPropertyPointer
public PropertyPointer getPropertyPointer()
Description copied from class:PropertyOwnerPointer
Get a PropertyPointer for this PropertyOwnerPointer.- Specified by:
getPropertyPointer
in classPropertyOwnerPointer
- Returns:
- PropertyPointer
-
getName
public QName getName()
Description copied from class:NodePointer
Returns the name of this node. Can be null.- Specified by:
getName
in classPropertyOwnerPointer
- Returns:
- QName
-
getBaseValue
public java.lang.Object getBaseValue()
Description copied from class:NodePointer
Returns the value represented by the pointer before indexing. So, if the node represents an element of a collection, this method returns the collection itself.- Specified by:
getBaseValue
in classNodePointer
- Returns:
- Object value
-
isCollection
public boolean isCollection()
Returnstrue
if the value of the pointer is an array or a Collection.- Specified by:
isCollection
in classNodePointer
- Returns:
- false
-
getLength
public int getLength()
If the pointer represents a collection (or collection element), returns the length of the collection. Otherwise returns 1 (even if the value is null).- Specified by:
getLength
in classNodePointer
- Returns:
- 1
-
isLeaf
public boolean isLeaf()
Description copied from class:NodePointer
If true, this node does not have children- Specified by:
isLeaf
in classNodePointer
- Returns:
- boolean
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
-
asPath
public java.lang.String asPath()
Returns an XPath that maps to this Pointer. If the pointer has a parent, then parent's path. If the bean is null, "null()". If the bean is a primitive value, the value itself. Otherwise - an empty string.- Specified by:
asPath
in interfacePointer
- Overrides:
asPath
in classNodePointer
- Returns:
- String xpath expression
-
-