Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jxpath.ri.model.beans
Class PropertyPointer

    java.lang.Object
      |
      +--org.apache.commons.jxpath.ri.model.NodePointer
            |
            +--org.apache.commons.jxpath.ri.model.beans.PropertyPointer

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Comparable, Pointer, java.io.Serializable

Direct Known Subclasses:
  BeanPropertyPointer, DynaBeanPropertyPointer, DynamicPropertyPointer, NullPropertyPointer

public abstract class PropertyPointer
extends NodePointer

A pointer allocated by a PropertyOwnerPointer to represent the value of a property of the parent object.

Version:
  $Revision: 1.9 $ $Date: 2003/03/11 00:59:25 $
Author:
  Dmitri Plotnikov
See Also:
  Serialized Form

Field Summary
`protected java.lang.Object` | `bean`
`protected int` | `propertyIndex`
`static int` | `UNSPECIFIED_PROPERTY`

Fields inherited from class org.apache.commons.jxpath.ri.model.NodePointer
`index, locale, parent, UNKNOWN_NAMESPACE, WHOLE_COLLECTION`

Constructor Summary
`PropertyPointer(NodePointer parent)` Takes a javabean, a descriptor of a property of that object and an offset within that property (starting with 0).

Method Summary
`int` | `compareChildNodePointers(NodePointer pointer1, NodePointer pointer2)` Compares two child NodePointers and returns a positive number, zero or a positive number according to the order of the pointers.
`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.
`NodePointer` | `createPath(JXPathContext context, java.lang.Object value)` Called directly by JXPathContext.
`boolean` | `equals(java.lang.Object object)`
`java.lang.Object` | `getBean()`
`java.lang.Object` | `getImmediateNode()` Returns the object the pointer points to; does not convert it to a "canonical" type.
`NodePointer` | `getImmediateValuePointer()` Returns a NodePointer that can be used to access the currently selected property value.
`int` | `getLength()` If the property contains a collection, then the length of that collection, otherwise - 1.
`QName` | `getName()` Returns the name of this node.
`abstract int` | `getPropertyCount()`
`int` | `getPropertyIndex()`
`abstract java.lang.String` | `getPropertyName()`
`abstract java.lang.String[]` | `getPropertyNames()`
`int` | `hashCode()`
`boolean` | `isActual()` An actual pointer points to an existing part of an object graph, even if it is null.
`protected abstract boolean` | `isActualProperty()`
`boolean` | `isCollection()` Returns `true` if the value of the pointer is an array or a Collection.
`boolean` | `isLeaf()` If true, this node does not have children
`void` | `setPropertyIndex(int index)`
`abstract void` | `setPropertyName(java.lang.String propertyName)`

Methods inherited from class org.apache.commons.jxpath.ri.model.NodePointer
`asPath, attributeIterator, childIterator, clone, compareTo, createAttribute, getBaseValue, getDefaultNamespaceURI, getExpandedName, getIndex, getLocale, getNamespaceURI, getNamespaceURI, getNode, getNodeValue, getParent, getPointerByID, getPointerByKey, getRootNode, getValue, getValuePointer, isAttribute, isContainer, isDefaultNamespace, isLanguage, isNode, isRoot, namespaceIterator, namespacePointer, newChildNodePointer, newNodePointer, printPointerChain, remove, setAttribute, setIndex, setValue, testNode, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### UNSPECIFIED_PROPERTY

    public static final int UNSPECIFIED_PROPERTY

### propertyIndex

    protected int propertyIndex

### bean

    protected java.lang.Object bean

Constructor Detail

### PropertyPointer

    public PropertyPointer(NodePointer parent)

  Takes a javabean, a descriptor of a property of that object and an offset within that property (starting with 0).

Method Detail

### getPropertyIndex

    public int getPropertyIndex()

### setPropertyIndex

    public void setPropertyIndex(int index)

### getBean

    public java.lang.Object getBean()

### getName

    public QName getName()

  Description copied from class: `NodePointer`
  Returns the name of this node. Can be null.
  Overrides:
    `getName` in class `NodePointer`

### getPropertyName

    public abstract java.lang.String getPropertyName()

### setPropertyName

    public abstract void setPropertyName(java.lang.String propertyName)

### getPropertyCount

    public abstract int getPropertyCount()

### getPropertyNames

    public abstract java.lang.String[] getPropertyNames()

### isActualProperty

    protected abstract boolean isActualProperty()

### isActual

    public boolean isActual()

  Description copied from class: `NodePointer`
  An actual pointer points to an existing part of an object graph, even if it is null. A non-actual pointer represents a part that does not exist at all. For instance consider the pointer "/address/street". If both address and street are not null, the pointer is actual. If address is not null, but street is null, the pointer is still actual. If address is null, the pointer is not actual. (In JavaBeans) if address is not a property of the root bean, a Pointer for this path cannot be obtained at all - actual or otherwise.
  Overrides:
    `isActual` in class `NodePointer`

### 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.
  Overrides:
    `getImmediateNode` in class `NodePointer`

### isCollection

    public boolean isCollection()

  Description copied from class: `NodePointer`
  Returns `true` if the value of the pointer is an array or a Collection.
  Overrides:
    `isCollection` in class `NodePointer`

### isLeaf

    public boolean isLeaf()

  Description copied from class: `NodePointer`
  If true, this node does not have children
  Overrides:
    `isLeaf` in class `NodePointer`

### getLength

    public int getLength()

  If the property contains a collection, then the length of that collection, otherwise - 1.
  Overrides:
    `getLength` in class `NodePointer`

### getImmediateValuePointer

    public NodePointer getImmediateValuePointer()

  Returns a NodePointer that can be used to access the currently selected property value.
  Overrides:
    `getImmediateValuePointer` in class `NodePointer`
  Following copied from class: `org.apache.commons.jxpath.ri.model.NodePointer`
  Returns:
    NodePointer is either `this` or a pointer for the immediately contained value.
  See Also:
    `NodePointer.getValuePointer()`

### 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`

### createPath

    public NodePointer createPath(JXPathContext context,
                                  java.lang.Object value)

  Description copied from class: `NodePointer`
  Called directly by JXPathContext. Must create path and set value.
  Overrides:
    `createPath` 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 may have to expand the collection in order to assign the element.
  Overrides:
    `createChild` 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`

### 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`

### 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.
  Overrides:
    `compareChildNodePointers` in class `NodePointer`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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