Class 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:
  • 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

      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