Class ParameterMacroExpression<T>

java.lang.Object
com.tangosol.coherence.config.ParameterMacroExpression<T>
All Implemented Interfaces:
Expression<T>, ExternalizableLite, PortableObject, Serializable

public class ParameterMacroExpression<T> extends Object implements Expression<T>, ExternalizableLite, PortableObject
A ParameterMacroExpression is an Expression representing the use of a Coherence Parameter Macro, typically occurring with in a Coherence Cache Configuration file.

Coherence Macro Parameters are syntactically represented as follows:

{parameter-name [default-value]}

When a ParameterMacroExpression is evaluated the parameter-name and it's associated value is resolved by consulting the provided ParameterResolver. If the parameter is resolvable, the value of the resolved parameter is returned. If it's not resolvable the default value is returned.

Note: Returned values are always coerced into the type defined by the Expression.

Since:
Coherence 12.1.2
Author:
bo 2011.06.22
See Also:
  • Constructor Details

    • ParameterMacroExpression

      public ParameterMacroExpression()
      Default constructor needed for serialization.
    • ParameterMacroExpression

      public ParameterMacroExpression(String sExpression, Class<T> clzResultType)
      Parameters:
      sExpression - a string representation of the Expression
      clzResultType - the type of value the Expression will return when evaluated
  • Method Details

    • evaluate

      public T evaluate(ParameterResolver resolver)
      Evaluates the Expression to produce a value of type T.
      Specified by:
      evaluate in interface Expression<T>
      Parameters:
      resolver - the ParameterResolver for resolving any parameters used by the Expression
      Returns:
      The result of evaluating the expression
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object