Class MvelUpdater

All Implemented Interfaces:
ExternalizableLite, PortableObject, ValueUpdater, Serializable

public class MvelUpdater extends AbstractUpdater implements ValueUpdater, ExternalizableLite, PortableObject
MVEL-based ValueUpdater implementation.
Author:
ic 2011.07.14
See Also:
  • Field Details

    • m_sExpr

      protected String m_sExpr
      The MVEL expression to evaluate.
    • m_oExpr

      protected transient Serializable m_oExpr
      Compiled expression.
  • Constructor Details

    • MvelUpdater

      public MvelUpdater()
      Default constructor (necessary for the ExternalizableLite and PortableObject interfaces).
    • MvelUpdater

      public MvelUpdater(String sExpr)
      Construct a MvelUpdater based on an MVEL expression.
      Parameters:
      sExpr - the MVEL expression to evaluate
  • Method Details

    • update

      public void update(Object oTarget, Object oValue)
      Update the state of the passed target object using the passed value. For intrinsic types, the specified value is expected to be a standard wrapper type in the same manner that reflection works; for example, an int value would be passed as a java.lang.Integer.
      Specified by:
      update in interface ValueUpdater
      Overrides:
      update in class AbstractUpdater
      Parameters:
      oTarget - the Object to update the state of
      oValue - the new value to update the state with
    • getCompiledExpression

      protected Serializable getCompiledExpression()
      Return a compiled MVEL expression.
      Returns:
      compiled MVEL expression
    • equals

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

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

      public String toString()
      Provide a human-readable description of this MvelUpdater object.
      Overrides:
      toString in class Object
      Returns:
      a human-readable description of this MvelUpdater object
    • 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
      NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into
    • 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