Class PropertyManipulator<V,R>

java.lang.Object
com.tangosol.util.Base
com.tangosol.util.processor.PropertyManipulator<V,R>
Type Parameters:
V - the type of value manipulated
All Implemented Interfaces:
ExternalizableLite, PortableObject, ValueManipulator<V,R>, Serializable

public class PropertyManipulator<V,R> extends Base implements ValueManipulator<V,R>, ExternalizableLite, PortableObject
PropertyManipulator is a reflection based ValueManipulator implementation based on the JavaBean property name conventions.
Author:
gg 2005.10.31
See Also:
  • Field Details

    • m_sName

      protected String m_sName
      The property name, never null.
    • m_fUseIs

      protected boolean m_fUseIs
      The getter prefix flag.
    • m_extractor

      protected transient ValueExtractor<V,R> m_extractor
      The underlying ValueExtractor.
    • m_updater

      protected transient ValueUpdater<V,R> m_updater
      The underlying ValueUpdater.
  • Constructor Details

    • PropertyManipulator

      public PropertyManipulator()
      Default constructor (necessary for the ExternalizableLite interface).
    • PropertyManipulator

      public PropertyManipulator(String sName)
      Construct a PropertyManipulator for the specified property name.

      This constructor assumes that the corresponding property getter will have a name of ("get" + sName) and the corresponding property setter's name will be ("set + sName).

      Parameters:
      sName - a property name
    • PropertyManipulator

      public PropertyManipulator(String sName, boolean fUseIs)
      Construct a PropertyManipulator for the specified property name.

      This constructor assumes that the corresponding property getter will have a name of either ("get" + sName) or ("is + sName) and the corresponding property setter's name will be ("set + sName).

      Parameters:
      sName - a property name
      fUseIs - if true, the getter method will be prefixed with "is" rather than "get"
  • Method Details

    • getExtractor

      public ValueExtractor<V,R> getExtractor()
      Retrieve the underlying ValueExtractor reference.
      Specified by:
      getExtractor in interface ValueManipulator<V,R>
      Returns:
      the ValueExtractor
    • getUpdater

      public ValueUpdater<V,R> getUpdater()
      Retrieve the underlying ValueUpdater reference.
      Specified by:
      getUpdater in interface ValueManipulator<V,R>
      Returns:
      the ValueUpdater
    • init

      protected void init()
      Parse the property name and initialize necessary extractor and updator.
    • equals

      public boolean equals(Object o)
      Compare the PropertyManipulator with another object to determine equality.
      Overrides:
      equals in class Object
      Returns:
      true iff this PropertyManipulator and the passed object are equivalent PropertyManipulators
    • hashCode

      public int hashCode()
      Determine a hash value for the PropertyManipulator object according to the general Object.hashCode() contract.
      Overrides:
      hashCode in class Object
      Returns:
      an integer hash value for this PropertyManipulator object
    • toString

      public String toString()
      Return a human-readable description for this PropertyManipulator.
      Overrides:
      toString in class Object
      Returns:
      a String description of the PropertyManipulator
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs