Package org.apache.commons.jxpath.ri.model.beans

# 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:
  `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.

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

  Constructors
  Constructor
  Description
  `BeanPointer(NodePointer parent, QName qName, Object bean, JXPathBeanInfo beanInfo)`
  BeanPointer a new BeanPointer.
  `BeanPointer(QName qName, Object bean, JXPathBeanInfo beanInfo, Locale locale)`
  Constructs a new BeanPointer.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `asPath()`
  Returns an XPath that maps to this Pointer.
  `boolean`
  `equals(Object object)`
  `Object`
  `getBaseValue()`
  Gets 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()`
  Gets the name of this node.
  `PropertyPointer`
  `getPropertyPointer()`
  Gets 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, handle, handle, isActual, isAttribute, isContainer, isDefaultNamespace, isLanguage, isNode, isRoot, namespaceIterator, namespacePointer, newChildNodePointer, newNodePointer, printPointerChain, setAttribute, setExceptionHandler, setNamespaceResolver, testNode, toString, verify`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### BeanPointer

    public BeanPointer(NodePointer parent, QName qName, Object bean, JXPathBeanInfo beanInfo)
    BeanPointer a new BeanPointer.
    Parameters:
      `parent` - pointer
      `qName` - is the name given to the first node
      `bean` - pointed
      `beanInfo` - JXPathBeanInfo

  - ### BeanPointer

    public BeanPointer(QName qName, Object bean, JXPathBeanInfo beanInfo, Locale locale)
    Constructs a new BeanPointer.
    Parameters:
      `qName` - is the name given to the first node
      `bean` - pointed
      `beanInfo` - JXPathBeanInfo
      `locale` - Locale

- ## Method Details

  - ### 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

  - ### equals

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

  - ### getBaseValue

    public Object getBaseValue()
    Description copied from class: `NodePointer`
    Gets 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

  - ### 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

  - ### getName

    public QName getName()
    Description copied from class: `NodePointer`
    Gets the name of this node. Can be null.
    Specified by:
      `getName` in class `PropertyOwnerPointer`
    Returns:
      QName The name of this node. Can be null.

  - ### getPropertyPointer

    public PropertyPointer getPropertyPointer()
    Description copied from class: `PropertyOwnerPointer`
    Gets a PropertyPointer for this PropertyOwnerPointer.
    Specified by:
      `getPropertyPointer` in class `PropertyOwnerPointer`
    Returns:
      PropertyPointer

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### 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

  - ### 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