Class VariableFactory

java.lang.Object
com.singularsys.jep.VariableFactory
All Implemented Interfaces:
JepComponent, Serializable

public class VariableFactory extends Object implements JepComponent
A factory class which is used to create variables. By default, this class creates variables of type Variable. This class should be sub-classed if the type of variable used needs to be changed. This class is passed to the constructor of VariableTable which ensures that variables of the correct type are always created.

This class should only be called from the VariableTable class and not from application code.

Since:
23 July 2006 - allows a defaultValue to be set.
Author:
Rich Morris Created on 19-Dec-2003
See Also:
  • Field Details

    • defaultValue

      protected Object defaultValue
      The default value to use when variable is created with no value
  • Constructor Details

    • VariableFactory

      public VariableFactory()
  • Method Details

    • init

      public void init(Jep j)
      Description copied from interface: JepComponent
      Initialize the component. This method is called whenever a component is added to Jep. Hence, it allows components to keep track of the other components they may rely on.
      Specified by:
      init in interface JepComponent
      Parameters:
      j - the current Jep instance
    • createVariable

      public Variable createVariable(String name, Object value)
      Create a variable with a name and value. Subclasses should overwrite this method to return variables of the correct type
      Parameters:
      name - name of variable
      value - initial value
      Returns:
      reference to Variable object
    • createVariable

      public Variable createVariable(String name)
      Create a variable with a name but not value Calls createVariable(String, Object) so subclasses need not override this method.
      Parameters:
      name - name of variable
      Returns:
      reference to Variable object
    • copyVariable

      public Variable copyVariable(Variable var)
      Create a new variable which is a copy of this one. Copies the isConstant and isValidValue flags copies all hook key value pairs. Calls createVariable(String, Object) so subclasses need not override this method, unless there are other fields which need to be copied.
      Parameters:
      var -
      Returns:
    • getDefaultValue

      public Object getDefaultValue()
      Returns:
      Returns the defaultValue.
    • setDefaultValue

      public void setDefaultValue(Object defaultValue)
      Sets the default value used whenever a new variable is created.
      Parameters:
      defaultValue - The defaultValue to set.
    • getLightWeightInstance

      public JepComponent getLightWeightInstance()
      Description copied from interface: JepComponent
      Gets a light-weight instance suitable for using in multiple threads.
      Specified by:
      getLightWeightInstance in interface JepComponent
      Returns:
      either a new instance, null or 'this'.