org.apache.commons.jxpath.ri.model.beans
Class BeanPointer

java.lang.Object
  extended by org.apache.commons.jxpath.ri.model.NodePointer
      extended by org.apache.commons.jxpath.ri.model.beans.PropertyOwnerPointer
          extended by org.apache.commons.jxpath.ri.model.beans.BeanPointer
All Implemented Interfaces:
Serializable, Cloneable, 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 a BeanPropertyPointer between two BeanPointers in the chain.

Version:
$Revision: 670727 $ $Date: 2008-06-23 15:10:38 -0500 (Mon, 23 Jun 2008) $
Author:
Dmitri Plotnikov
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
 
Constructor Summary
BeanPointer(NodePointer parent, QName name, Object bean, JXPathBeanInfo beanInfo)
          Create a new BeanPointer.
BeanPointer(QName name, Object bean, JXPathBeanInfo beanInfo, Locale locale)
          Create a new BeanPointer.
 
Method Summary
 String asPath()
          Returns an XPath that maps to this Pointer. If the pointer has a parent, then parent's path.
 boolean equals(Object object)
           
 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()
          Returns true 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
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BeanPointer

public BeanPointer(QName name,
                   Object bean,
                   JXPathBeanInfo beanInfo,
                   Locale locale)
Create a new BeanPointer.

Parameters:
name - is the name given to the first node
bean - pointed
beanInfo - JXPathBeanInfo
locale - Locale

BeanPointer

public BeanPointer(NodePointer parent,
                   QName name,
                   Object bean,
                   JXPathBeanInfo beanInfo)
Create a new BeanPointer.

Parameters:
parent - pointer
name - is the name given to the first node
bean - pointed
beanInfo - JXPathBeanInfo
Method Detail

getPropertyPointer

public PropertyPointer getPropertyPointer()
Description copied from class: PropertyOwnerPointer
Get a PropertyPointer for this PropertyOwnerPointer.

Specified by:
getPropertyPointer in class PropertyOwnerPointer
Returns:
PropertyPointer

getName

public QName getName()
Description copied from class: NodePointer
Returns the name of this node. Can be null.

Specified by:
getName in class PropertyOwnerPointer
Returns:
QName

getBaseValue

public 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 class NodePointer
Returns:
Object value

isCollection

public boolean isCollection()
Returns true if the value of the pointer is an array or a Collection.

Specified by:
isCollection in class NodePointer
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 class NodePointer
Returns:
1

isLeaf

public boolean isLeaf()
Description copied from class: NodePointer
If true, this node does not have children

Specified by:
isLeaf in class NodePointer
Returns:
boolean

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object object)
Overrides:
equals in class Object

asPath

public 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 interface Pointer
Overrides:
asPath in class NodePointer
Returns:
String xpath expression


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.