uk.ac.ic.doc.automed.util
Class RuntimeParameters

java.lang.Object
  extended by uk.ac.ic.doc.automed.util.RuntimeParameters
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
QueryPlannerResult.CoverageSet

public class RuntimeParameters
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

RuntimeParameters.java An utility class to allow application code set values of run-time parameters of the query processors. An instance of this class (with appropriate parameters) can be created by one qproc component to be fetched into another component through, for example, the QueryProcessorConfiguration class. Run time parameters are particularly useful for providing run-time input for evaluating a query processing policy.

See #PARAMETERS for definitions of run-time parameters. Note: Use only either String or wrapper classes of primitive types as parameter values. Avoid using generic and user-defined types!

Version:
1.0 Department of Computing, Imperial College
Author:
Duc M Le dmle@doc.ic.ac.uk
See Also:
Serialized Form

Field Summary
private  java.util.Map _params
          Define a standard list of application run-time parameters qproc.cache.answerable - boolean value indicating whether or not a query is answerable from some query cache qproc.cache.item.metadata - Object indicating a metadata of a cache item network.socket.timeout - boolean value indicating whether or not a query is answerable from some query cache
private  java.util.Map _paramsRemote
           
private static long serialVersionUID
           
 
Constructor Summary
RuntimeParameters()
          Creates a new instance of RuntimeParameters
 
Method Summary
 java.lang.Object clone()
           
 boolean getBooleanParameter(java.lang.String paramName)
          Getter for a parameter.
 double getDoubleParameter(java.lang.String paramName)
          Getter for a parameter.
 double getDoubleParameter(java.lang.String paramName, double defVal)
          Getter for a parameter.
static RuntimeParameters getInstance(java.lang.Object... nameValuePairs)
           
 int getIntParameter(java.lang.String paramName)
          Getter for a parameter.
 int getIntParameter(java.lang.String paramName, int defVal)
          Getter for a parameter.
 long getLongParameter(java.lang.String paramName)
          Getter for a parameter.
 long getLongParameter(java.lang.String paramName, long defVal)
          Getter for a parameter.
 java.lang.Object getParameter(java.lang.String paramName)
          Getter for a parameter.
 java.util.Map getParameterMap()
           
 java.util.Collection getParameterNames()
           
 java.lang.String getStringParameter(java.lang.String paramName)
          Getter for a parameter.
 boolean hasParam(java.lang.String paramName)
           
 java.lang.Object popParameter(java.lang.String paramName)
          Get and remove parameter
 java.lang.Object popRemoteParameter(java.lang.String paramName)
           
private  void readObject(java.io.ObjectInputStream in)
           
 java.lang.Object removeParameter(java.lang.String paramName)
          Remove a parameter from list
 void setParameter(java.lang.String paramName, java.lang.Object paramValue)
          Setter for a parameter.
 void setParameters(java.util.Map params)
           
 void setParameters(RuntimeParameters params)
           
 void setRemoteParameter(java.lang.String paramName, java.lang.Object paramValue)
          parameters to be read by remote functions.
static RuntimeParameters shallowCopy(java.util.Map paramMap)
           
 RuntimeParameters shallowCopy(java.lang.String[] paramNames)
          Make a shallow copy of this except for some specified parameters
 java.lang.String toString()
           
private  void writeObject(java.io.ObjectOutputStream out)
          customise serialisable so that we can also serialise the static id counter
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

_params

private java.util.Map _params
Define a standard list of application run-time parameters


_paramsRemote

private java.util.Map _paramsRemote
Constructor Detail

RuntimeParameters

public RuntimeParameters()
Creates a new instance of RuntimeParameters

Method Detail

getInstance

public static RuntimeParameters getInstance(java.lang.Object... nameValuePairs)

shallowCopy

public static RuntimeParameters shallowCopy(java.util.Map paramMap)

shallowCopy

public RuntimeParameters shallowCopy(java.lang.String[] paramNames)
Make a shallow copy of this except for some specified parameters

Parameters:
params -
Returns:

hasParam

public boolean hasParam(java.lang.String paramName)

getParameterMap

public java.util.Map getParameterMap()

getParameterNames

public java.util.Collection getParameterNames()

setParameter

public void setParameter(java.lang.String paramName,
                         java.lang.Object paramValue)
Setter for a parameter.

Parameters:
paramName - parameter name. See #PARAMETERS constant for a list of parameter names.
paramValue - value of the parameter. Note: Use only either String or wrapper classes of primitive types (i.e. Boolean, Integer etc.) as parameter values. Avoid using generic and user-defined types!

setRemoteParameter

public void setRemoteParameter(java.lang.String paramName,
                               java.lang.Object paramValue)
parameters to be read by remote functions.

Parameters:
paramName -
paramValue -

popRemoteParameter

public java.lang.Object popRemoteParameter(java.lang.String paramName)

removeParameter

public java.lang.Object removeParameter(java.lang.String paramName)
Remove a parameter from list


getParameter

public java.lang.Object getParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getStringParameter

public java.lang.String getStringParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


popParameter

public java.lang.Object popParameter(java.lang.String paramName)
Get and remove parameter


getBooleanParameter

public boolean getBooleanParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getIntParameter

public int getIntParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getIntParameter

public int getIntParameter(java.lang.String paramName,
                           int defVal)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getLongParameter

public long getLongParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getLongParameter

public long getLongParameter(java.lang.String paramName,
                             long defVal)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getDoubleParameter

public double getDoubleParameter(java.lang.String paramName)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


getDoubleParameter

public double getDoubleParameter(java.lang.String paramName,
                                 double defVal)
Getter for a parameter. See #PARAMETERS constant for a list of parameter names


setParameters

public void setParameters(RuntimeParameters params)

setParameters

public void setParameters(java.util.Map params)

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

writeObject

private void writeObject(java.io.ObjectOutputStream out)
                  throws java.io.IOException
customise serialisable so that we can also serialise the static id counter

Parameters:
out -
Throws:
java.io.IOException

readObject

private void readObject(java.io.ObjectInputStream in)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException