org.apache.commons.jxpath.ri.model.dynamic
Class DynamicPointer

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.dynamic.DynamicPointer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.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.

Version:
$Revision: 652884 $ $Date: 2008-05-02 15:02:00 -0500 (Fri, 02 May 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
DynamicPointer(NodePointer parent, QName name, java.lang.Object bean, DynamicPropertyHandler handler)
          Create a new DynamicPointer.
DynamicPointer(QName name, java.lang.Object bean, DynamicPropertyHandler handler, java.util.Locale locale)
          Create a new DynamicPointer.
 
Method Summary
 java.lang.String asPath()
          Returns an XPath that maps to this Pointer.
 NodeIterator attributeIterator(QName name)
          Returns a NodeIterator that iterates over all attributes of the current node matching the supplied node name (could have a wildcard).
 NodeIterator createNodeIterator(java.lang.String property, boolean reverse, NodePointer startWith)
          Create a NodeIterator.
 boolean equals(java.lang.Object object)
           
 java.lang.Object getBaseValue()
          Returns the DP object iself.
 int getLength()
          Returns 1.
 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 isDynamicPropertyDeclarationSupported()
          Learn whether dynamic property declaration is supported.
 boolean isLeaf()
          If true, this node does not have children
 
Methods inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyOwnerPointer
childIterator, compareChildNodePointers, getImmediateNode, 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

DynamicPointer

public DynamicPointer(QName name,
                      java.lang.Object bean,
                      DynamicPropertyHandler handler,
                      java.util.Locale locale)
Create a new DynamicPointer.

Parameters:
name - property name
bean - owning bean
handler - DynamicPropertyHandler
locale - Locale

DynamicPointer

public DynamicPointer(NodePointer parent,
                      QName name,
                      java.lang.Object bean,
                      DynamicPropertyHandler handler)
Create a new DynamicPointer.

Parameters:
parent - parent pointer
name - property name
bean - owning bean
handler - DynamicPropertyHandler
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

createNodeIterator

public NodeIterator createNodeIterator(java.lang.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

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 PropertyOwnerPointer
Parameters:
name - the attribute name to test
Returns:
NodeIterator

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

isDynamicPropertyDeclarationSupported

public boolean isDynamicPropertyDeclarationSupported()
Description copied from class: PropertyOwnerPointer
Learn 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".

getBaseValue

public java.lang.Object getBaseValue()
Returns the DP object iself.

Specified by:
getBaseValue in class NodePointer
Returns:
Object

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

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

getLength

public int getLength()
Returns 1.

Specified by:
getLength in class NodePointer
Returns:
int

asPath

public java.lang.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

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object


Copyright © 2001-2011 Apache Software Foundation. All Rights Reserved.