Class PropertyOwnerPointer

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, Pointer
    Direct Known Subclasses:
    BeanPointer, DynaBeanPointer, DynamicPointer, NullPointer

    public abstract class PropertyOwnerPointer
    extends NodePointer
    A pointer describing a node that has properties, each of which could be a collection.
    Version:
    $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
    See Also:
    Serialized Form
    • Field Detail

      • UNINITIALIZED

        private static final java.lang.Object UNINITIALIZED
      • value

        private java.lang.Object value
    • Constructor Detail

      • PropertyOwnerPointer

        protected PropertyOwnerPointer​(NodePointer parent,
                                       java.util.Locale locale)
        Create a new PropertyOwnerPointer.
        Parameters:
        parent - parent pointer
        locale - Locale
      • PropertyOwnerPointer

        protected PropertyOwnerPointer​(NodePointer parent)
        Create a new PropertyOwnerPointer.
        Parameters:
        parent - pointer
    • Method Detail

      • childIterator

        public NodeIterator childIterator​(NodeTest test,
                                          boolean reverse,
                                          NodePointer startWith)
        Description copied from class: NodePointer
        Returns a NodeIterator that iterates over all children or all children that match the given NodeTest, starting with the specified one.
        Overrides:
        childIterator in class NodePointer
        Parameters:
        test - NodeTest to filter children
        reverse - specified iteration direction
        startWith - the NodePointer to start with
        Returns:
        NodeIterator
      • createNodeIterator

        public NodeIterator createNodeIterator​(java.lang.String property,
                                               boolean reverse,
                                               NodePointer startWith)
        Create a NodeIterator.
        Parameters:
        property - property name
        reverse - whether to iterate in reverse
        startWith - first pointer to return
        Returns:
        NodeIterator
      • attributeIterator

        public NodeIterator attributeIterator​(QName name)
        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 NodePointer
        Parameters:
        name - the attribute name to test
        Returns:
        NodeIterator
      • setIndex

        public void setIndex​(int index)
        Description copied from class: NodePointer
        Set the index of this NodePointer.
        Overrides:
        setIndex in class NodePointer
        Parameters:
        index - int
      • getImmediateNode

        public java.lang.Object getImmediateNode()
        Description copied from class: NodePointer
        Returns the object the pointer points to; does not convert it to a "canonical" type.
        Specified by:
        getImmediateNode in class NodePointer
        Returns:
        Object node
      • getName

        public abstract QName getName()
        Description copied from class: NodePointer
        Returns the name of this node. Can be null.
        Specified by:
        getName in class NodePointer
        Returns:
        QName
      • isValidProperty

        public boolean isValidProperty​(QName name)
        Learn whether name is a valid child name for this PropertyOwnerPointer.
        Parameters:
        name - the QName to test
        Returns:
        true if QName is a valid property name.
        Since:
        JXPath 1.3
      • setValue

        public void setValue​(java.lang.Object value)
        Throws an exception if you try to change the root element, otherwise forwards the call to the parent pointer.
        Specified by:
        setValue in interface Pointer
        Specified by:
        setValue in class NodePointer
        Parameters:
        value - to set
      • remove

        public void remove()
        If this is a root node pointer, throws an exception; otherwise forwards the call to the parent node.
        Overrides:
        remove in class NodePointer
      • getPropertyPointer

        public abstract PropertyPointer getPropertyPointer()
        Get a PropertyPointer for this PropertyOwnerPointer.
        Returns:
        PropertyPointer
      • isDynamicPropertyDeclarationSupported

        public boolean isDynamicPropertyDeclarationSupported()
        Learn whether dynamic property declaration is supported.
        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".
      • compareChildNodePointers

        public int compareChildNodePointers​(NodePointer pointer1,
                                            NodePointer pointer2)
        Description copied from class: NodePointer
        Compares two child NodePointers and returns a positive number, zero or a positive number according to the order of the pointers.
        Specified by:
        compareChildNodePointers in class NodePointer
        Parameters:
        pointer1 - first pointer to be compared
        pointer2 - second pointer to be compared
        Returns:
        int per Java comparison conventions