org.apache.commons.jxpath.ri.model.beans
Class BeanPropertyPointer

java.lang.Object
  |
  +--org.apache.commons.jxpath.ri.model.NodePointer
        |
        +--org.apache.commons.jxpath.ri.model.beans.PropertyPointer
              |
              +--org.apache.commons.jxpath.ri.model.beans.BeanPropertyPointer
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable, Pointer

public class BeanPropertyPointer
extends PropertyPointer

Pointer pointing to a property of a JavaBean.

Version:
$Revision: 1.5 $ $Date: 2002/05/08 23:05:05 $
Author:
Dmitri Plotnikov

Field Summary
 
Fields inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyPointer
bean, propertyIndex, UNSPECIFIED_PROPERTY
 
Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer
index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION
 
Constructor Summary
BeanPropertyPointer(NodePointer parent, JXPathBeanInfo beanInfo)
           
 
Method Summary
 NodePointer createChild(JXPathContext context, QName name, int index)
          Called by a child pointer when it needs to create a parent object for a non-existent collection element.
 NodePointer createChild(JXPathContext context, QName name, int index, java.lang.Object value)
          Called by a child pointer if that child needs to assign the value supplied in the createPath(context, value) call to a non-existent node.
 NodePointer createPath(JXPathContext context)
          Called by a child pointer when it needs to create a parent object.
 java.lang.Object getBaseValue()
          The value of the currently selected property.
 int getLength()
          If the property contains a collection, then the length of that collection, otherwise - 1.
 java.lang.Object getNodeValue()
          If index == WHOLE_COLLECTION, the value of the property, otherwise the value of the index'th element of the collection represented by the property.
 int getPropertyCount()
          Number of the bean's properties.
protected  java.beans.PropertyDescriptor[] getPropertyDescriptors()
           
 java.lang.String getPropertyName()
          Name of the currently selected property.
 java.lang.String[] getPropertyNames()
          Names of all properties, sorted alphabetically
protected  boolean isActualProperty()
           
 boolean isNode()
          This type of node is auxiliary.
 void remove()
          Remove the node of the object graph this pointer points to.
 void setIndex(int index)
           
 void setPropertyIndex(int index)
          Selects a property by its offset in the alphabetically sorted list.
 void setPropertyName(java.lang.String propertyName)
          Select a property by name
 void setValue(java.lang.Object value)
          If index == WHOLE_COLLECTION, change the value of the property, otherwise change the value of the index'th element of the collection represented by the property.
 
Methods inherited from class org.apache.commons.jxpath.ri.model.beans.PropertyPointer
compareChildNodePointers, equals, getBean, getName, getPropertyIndex, getValuePointer, hashCode, isActual, isCollection
 
Methods inherited from class org.apache.commons.jxpath.ri.model.NodePointer
asPath, attributeIterator, childIterator, clone, compareTo, createPath, getDefaultNamespaceURI, getExpandedName, getIndex, getLocale, getNamespaceURI, getNamespaceURI, getParent, getPointerByID, getPointerByKey, getValue, isDefaultNamespace, isLanguage, isLeaf, isRoot, namespaceIterator, namespacePointer, newChildNodePointer, newNodePointer, printPointerChain, testNode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BeanPropertyPointer

public BeanPropertyPointer(NodePointer parent,
                           JXPathBeanInfo beanInfo)
Method Detail

isNode

public boolean isNode()
This type of node is auxiliary.

Overrides:
isNode in class NodePointer

getPropertyCount

public int getPropertyCount()
Number of the bean's properties.

Specified by:
getPropertyCount in class PropertyPointer

getPropertyNames

public java.lang.String[] getPropertyNames()
Names of all properties, sorted alphabetically

Specified by:
getPropertyNames in class PropertyPointer

setPropertyName

public void setPropertyName(java.lang.String propertyName)
Select a property by name

Specified by:
setPropertyName in class PropertyPointer

setPropertyIndex

public void setPropertyIndex(int index)
Selects a property by its offset in the alphabetically sorted list.

Overrides:
setPropertyIndex in class PropertyPointer

getLength

public int getLength()
If the property contains a collection, then the length of that collection, otherwise - 1.

Overrides:
getLength in class NodePointer

getBaseValue

public java.lang.Object getBaseValue()
The value of the currently selected property.

Specified by:
getBaseValue in class NodePointer

setIndex

public void setIndex(int index)
Overrides:
setIndex in class NodePointer

getNodeValue

public java.lang.Object getNodeValue()
If index == WHOLE_COLLECTION, the value of the property, otherwise the value of the index'th element of the collection represented by the property. If the property is not a collection, index should be zero and the value will be the property itself.

Overrides:
getNodeValue in class PropertyPointer

isActualProperty

protected boolean isActualProperty()
Specified by:
isActualProperty in class PropertyPointer

setValue

public void setValue(java.lang.Object value)
If index == WHOLE_COLLECTION, change the value of the property, otherwise change the value of the index'th element of the collection represented by the property.

Specified by:
setValue in interface Pointer
Specified by:
setValue in class NodePointer

createPath

public NodePointer createPath(JXPathContext context)
Description copied from class: NodePointer
Called by a child pointer when it needs to create a parent object. Must create an object described by this pointer and return a new pointer that properly describes the new object.

Overrides:
createPath in class NodePointer

createChild

public NodePointer createChild(JXPathContext context,
                               QName name,
                               int index)
Description copied from class: NodePointer
Called by a child pointer when it needs to create a parent object for a non-existent collection element. It may have to expand the collection, then create an element object and return a new pointer describing the newly created element.

Overrides:
createChild in class NodePointer

createChild

public NodePointer createChild(JXPathContext context,
                               QName name,
                               int index,
                               java.lang.Object value)
Description copied from class: NodePointer
Called by a child pointer if that child needs to assign the value supplied in the createPath(context, value) call to a non-existent node. This method must may have to expand the collection in order to assign the element.

Overrides:
createChild in class NodePointer

remove

public void remove()
Description copied from class: NodePointer
Remove the node of the object graph this pointer points to.

Overrides:
remove in class NodePointer

getPropertyName

public java.lang.String getPropertyName()
Name of the currently selected property.

Specified by:
getPropertyName in class PropertyPointer

getPropertyDescriptors

protected java.beans.PropertyDescriptor[] getPropertyDescriptors()


Copyright (c) 2001 - Apache Software Foundation