mondrian.olap
Class ParameterImpl

java.lang.Object
  extended by mondrian.olap.ParameterImpl
All Implemented Interfaces:
ParameterCompilable, Parameter

public class ParameterImpl
extends Object
implements Parameter, ParameterCompilable

Implementation of Parameter.

Since:
Jul 22, 2006
Author:
jhyde

Nested Class Summary
 
Nested classes/interfaces inherited from interface mondrian.olap.Parameter
Parameter.Scope
 
Constructor Summary
ParameterImpl(String name, Exp defaultExp, String description, Type type)
           
 
Method Summary
 Calc compile(ExpCompiler compiler)
           
protected  Object convert(Object value)
           
static Object convertBack(Object value)
           
 boolean equals(Object other)
          Returns whether this parameter is equal to another, based upon name, type and value
 Object[] getChildren()
           
 Exp getDefaultExp()
          Returns the expression which provides the default value for this Parameter.
 String getDescription()
          Returns the description of this Parameter.
 String getName()
          Returns the name of this Parameter.
 Parameter.Scope getScope()
          Returns the scope where this parameter is defined.
 Type getType()
          Returns the type of this Parameter.
 Object getValue()
          Returns the value of this parameter.
 int hashCode()
           
 boolean isModifiable()
          Returns whether the parameter can be modified.
 boolean isSet()
          Returns whether the value of this parameter has been set.
 void setDefaultExp(Exp defaultExp)
           
 void setDescription(String description)
           
 void setType(Type type)
           
 void setValue(Object value)
          Sets the value of this parameter.
 void unsetValue()
          Unsets the value of this parameter.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParameterImpl

public ParameterImpl(String name,
                     Exp defaultExp,
                     String description,
                     Type type)
Method Detail

getScope

public Parameter.Scope getScope()
Description copied from interface: Parameter
Returns the scope where this parameter is defined.

Specified by:
getScope in interface Parameter
Returns:
Scope of the parameter

getType

public Type getType()
Description copied from interface: Parameter
Returns the type of this Parameter.

Specified by:
getType in interface Parameter
Returns:
Type of the parameter

getDefaultExp

public Exp getDefaultExp()
Description copied from interface: Parameter
Returns the expression which provides the default value for this Parameter. Never null.

Specified by:
getDefaultExp in interface Parameter
Returns:
Default value expression of the parameter

getName

public String getName()
Description copied from interface: Parameter
Returns the name of this Parameter.

Specified by:
getName in interface Parameter
Returns:
Name of the parameter

getValue

public Object getValue()
Description copied from interface: Parameter
Returns the value of this parameter.

If Parameter.setValue(Object) has not been called, returns the default value of this parameter.

The type of the value is (depending on the type of the parameter) a String, Number, or Member.

Specified by:
getValue in interface Parameter
Returns:
The value of this parameter

setValue

public void setValue(Object value)
Description copied from interface: Parameter
Sets the value of this parameter.

Specified by:
setValue in interface Parameter
Parameters:
value - Value of the parameter; must be a String, a Double, or a Member

isSet

public boolean isSet()
Description copied from interface: Parameter
Returns whether the value of this parameter has been set.

If the value has not been set, this parameter will return its default value.

Setting a parameter to null is not equivalent to unsetting it. To unset a parameter, call Parameter.unsetValue().

Specified by:
isSet in interface Parameter
Returns:
Whether this parameter has been assigned a value

unsetValue

public void unsetValue()
Description copied from interface: Parameter
Unsets the value of this parameter.

After calling this method, the parameter will revert to its default value, as if Parameter.setValue(Object) had not been called, and Parameter.isSet() will return false.

Specified by:
unsetValue in interface Parameter

getDescription

public String getDescription()
Description copied from interface: Parameter
Returns the description of this Parameter.

Specified by:
getDescription in interface Parameter
Returns:
Description of the parameter

getChildren

public Object[] getChildren()

equals

public boolean equals(Object other)
Returns whether this parameter is equal to another, based upon name, type and value

Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

isModifiable

public boolean isModifiable()
Returns whether the parameter can be modified.

Specified by:
isModifiable in interface Parameter
Returns:
Whether parameter is modifiable

setDescription

public void setDescription(String description)

setType

public void setType(Type type)

setDefaultExp

public void setDefaultExp(Exp defaultExp)

compile

public Calc compile(ExpCompiler compiler)
Specified by:
compile in interface ParameterCompilable

convert

protected Object convert(Object value)

convertBack

public static Object convertBack(Object value)

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads