Class DynaBeanPropertyPointer

All Implemented Interfaces:
Serializable, Cloneable, Comparable, Pointer

public class DynaBeanPropertyPointer extends PropertyPointer
Pointer pointing to a property of a DynaBean. If the target DynaBean is Serializable, so should this instance be.
Version:
$Revision: 668329 $ $Date: 2008-06-16 16:59:48 -0500 (Mon, 16 Jun 2008) $
See Also:
  • Field Details

    • dynaBean

      private org.apache.commons.beanutils.DynaBean dynaBean
    • name

      private String name
    • names

      private String[] names
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
  • Constructor Details

    • DynaBeanPropertyPointer

      public DynaBeanPropertyPointer(NodePointer parent, org.apache.commons.beanutils.DynaBean dynaBean)
      Create a new DynaBeanPropertyPointer.
      Parameters:
      parent - pointer
      dynaBean - pointed
  • Method Details

    • getBaseValue

      public Object getBaseValue()
      Description copied from class: NodePointer
      Returns the value represented by the pointer before indexing. So, if the node represents an element of a collection, this method returns the collection itself.
      Specified by:
      getBaseValue in class NodePointer
      Returns:
      Object value
    • isContainer

      public boolean isContainer()
      This type of node is auxiliary.
      Overrides:
      isContainer in class NodePointer
      Returns:
      true
    • getPropertyCount

      public int getPropertyCount()
      Description copied from class: PropertyPointer
      Count the number of properties represented.
      Specified by:
      getPropertyCount in class PropertyPointer
      Returns:
      int
    • getPropertyNames

      public String[] getPropertyNames()
      Description copied from class: PropertyPointer
      Get the names of the included properties.
      Specified by:
      getPropertyNames in class PropertyPointer
      Returns:
      String[]
    • getPropertyName

      public String getPropertyName()
      Returns the name of the currently selected property or "*" if none has been selected.
      Specified by:
      getPropertyName in class PropertyPointer
      Returns:
      String
    • setPropertyName

      public void setPropertyName(String propertyName)
      Select a property by name.
      Specified by:
      setPropertyName in class PropertyPointer
      Parameters:
      propertyName - to select
    • getPropertyIndex

      public int getPropertyIndex()
      Index of the currently selected property in the list of all properties sorted alphabetically.
      Overrides:
      getPropertyIndex in class PropertyPointer
      Returns:
      int
    • setPropertyIndex

      public void setPropertyIndex(int index)
      Index a property by its index in the list of all properties sorted alphabetically.
      Overrides:
      setPropertyIndex in class PropertyPointer
      Parameters:
      index - to set
    • getImmediateNode

      public Object getImmediateNode()
      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:
      getImmediateNode in class PropertyPointer
      Returns:
      Object
    • isActualProperty

      protected boolean isActualProperty()
      Returns true if the bean has the currently selected property.
      Specified by:
      isActualProperty in class PropertyPointer
      Returns:
      boolean
    • isIndexedProperty

      protected boolean isIndexedProperty()
      Learn whether the property referenced is an indexed property.
      Returns:
      boolean
    • setValue

      public void setValue(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
      Parameters:
      value - to set
    • 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
    • setValue

      private void setValue(int index, Object value)
      Set an indexed value.
      Parameters:
      index - to change
      value - to set
    • convert

      private Object convert(Object value, boolean element)
      Convert a value to the appropriate property type.
      Parameters:
      value - to convert
      element - whether this should be a collection element.
      Returns:
      conversion result