Class DynamicPointer

All Implemented Interfaces:
Serializable, Cloneable, Comparable, Pointer

public class DynamicPointer extends PropertyOwnerPointer
A Pointer that points to an object with Dynamic Properties. It is used for the first element of a path; following elements will by of type PropertyPointer.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • qName

      private final QName qName
      Qualified name.
    • bean

      private final Object bean
      Java bean.
    • handler

      private final DynamicPropertyHandler handler
      Dynamic property handler.
  • Constructor Details

    • DynamicPointer

      public DynamicPointer(NodePointer parent, QName qName, Object bean, DynamicPropertyHandler handler)
      Constructs a new DynamicPointer.
      Parameters:
      parent - parent pointer
      qName - property name
      bean - owning bean
      handler - DynamicPropertyHandler
    • DynamicPointer

      public DynamicPointer(QName qName, Object bean, DynamicPropertyHandler handler, Locale locale)
      Constructs a new DynamicPointer.
      Parameters:
      qName - property name
      bean - owning bean
      handler - DynamicPropertyHandler
      locale - Locale
  • Method Details

    • asPath

      public String asPath()
      Description copied from class: NodePointer
      Returns an XPath that maps to this Pointer.
      Specified by:
      asPath in interface Pointer
      Overrides:
      asPath in class NodePointer
      Returns:
      String XPath expression
    • attributeIterator

      public NodeIterator attributeIterator(QName qName)
      Description copied from class: NodePointer
      Returns a NodeIterator that iterates over all attributes of the current node matching the supplied node name (could have a wildcard). May return null if the object does not support the attributes.
      Overrides:
      attributeIterator in class PropertyOwnerPointer
      Parameters:
      qName - the attribute name to test
      Returns:
      NodeIterator
    • createNodeIterator

      public NodeIterator createNodeIterator(String property, boolean reverse, NodePointer startWith)
      Description copied from class: PropertyOwnerPointer
      Create a NodeIterator.
      Overrides:
      createNodeIterator in class PropertyOwnerPointer
      Parameters:
      property - property name
      reverse - whether to iterate in reverse
      startWith - first pointer to return
      Returns:
      NodeIterator
    • equals

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

      public Object getBaseValue()
      Returns the DP object iself.
      Specified by:
      getBaseValue in class NodePointer
      Returns:
      Object
    • getLength

      public int getLength()
      Returns 1.
      Specified by:
      getLength in class NodePointer
      Returns:
      int
    • 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()
      Description copied from class: NodePointer
      Returns true if the value of the pointer is an array or a Collection.
      Specified by:
      isCollection in class NodePointer
      Returns:
      boolean
    • isDynamicPropertyDeclarationSupported

      public boolean isDynamicPropertyDeclarationSupported()
      Description copied from class: PropertyOwnerPointer
      Tests whether dynamic property declaration is supported.
      Overrides:
      isDynamicPropertyDeclarationSupported in class PropertyOwnerPointer
      Returns:
      true if the property owner can set a property "does not exist". A good example is a Map. You can always assign a value to any key even if it has never been "declared".
    • 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