Class DynaBeanPropertyPointer

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.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:
    Serialized Form
    • Field Detail

      • dynaBean

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

        private java.lang.String name
      • names

        private java.lang.String[] names
    • Constructor Detail

      • DynaBeanPropertyPointer

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

      • getBaseValue

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

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

        public java.lang.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​(java.lang.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 java.lang.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​(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
        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,
                              java.lang.Object value)
        Set an indexed value.
        Parameters:
        index - to change
        value - to set
      • convert

        private java.lang.Object convert​(java.lang.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