|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.olap4j.mdx.ParameterNode
public class ParameterNode
A parameter to an MDX query.
Not all dialects of MDX support parameters. If a dialect supports parameters, the driver for that dialect should extend the parser to introduce a ParameterNode into the parse tree wherever a parameter is encountered.
For example, in Mondrian's dialect of MDX, a call to the Param(name,
type, defaultValueExpr)
function introduces a parameter, and
ParamRef(name)
creates a reference to a parameter defined
elsewhere in the query.
Constructor Summary | |
---|---|
ParameterNode(ParseRegion region,
String name,
Type type,
ParseTreeNode defaultValueExpression)
Creates a ParameterNode. |
Method Summary | ||
---|---|---|
|
accept(ParseTreeVisitor<T> visitor)
Accepts a visitor to this MDX parse tree node. |
|
ParameterNode |
deepCopy()
Creates a deep copy of this ParseTreeNode object. |
|
ParseTreeNode |
getDefaultValueExpression()
Returns the expression which yields the default value of this parameter. |
|
String |
getName()
Returns the name of this parameter. |
|
ParseRegion |
getRegion()
Returns the region of the source code which this node was created from, if it was created by parsing. |
|
Type |
getType()
Returns the type of this expression. |
|
void |
setDefaultValueExpression(ParseTreeNode defaultValueExpression)
Sets the expression which yields the default value of this parameter. |
|
void |
setName(String name)
Sets the name of this parameter. |
|
void |
setType(Type type)
Sets the type of this parameter. |
|
void |
unparse(ParseTreeWriter writer)
Converts this node into MDX text. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ParameterNode(ParseRegion region, String name, Type type, ParseTreeNode defaultValueExpression)
The name
must not be null, and the
defaultValueExpression
must be consistent with the
type
.
region
- Region of source codename
- Name of parametertype
- Type of parameterdefaultValueExpression
- Expression which yields the default value
of the parameterMethod Detail |
---|
public ParseRegion getRegion()
ParseTreeNode
A non-leaf node's region will encompass the regions of all of its
children. For example, a the region of a function call node
Crossjoin([Gender], {[Store].[USA]})
stretches from
the first character of the function name to the closing parenthesis.
Region may be null, if the node was created programmatically, not from a piece of source code.
getRegion
in interface ParseTreeNode
public <T> T accept(ParseTreeVisitor<T> visitor)
ParseTreeNode
The implementation should generally dispatches to the
ParseTreeVisitor.visit(org.olap4j.mdx.SelectNode)
method appropriate to the type of expression.
accept
in interface ParseTreeNode
visitor
- Visitor
public void unparse(ParseTreeWriter writer)
ParseTreeNode
unparse
in interface ParseTreeNode
writer
- Parse tree writerpublic Type getType()
ParseTreeNode
Returns null if this node is not an expression, for instance a
SELECT
node.
getType
in interface ParseTreeNode
public String getName()
public void setName(String name)
name
- Parameter namepublic void setType(Type type)
type
- Typepublic ParseTreeNode getDefaultValueExpression()
public void setDefaultValueExpression(ParseTreeNode defaultValueExpression)
defaultValueExpression
- default value expressionpublic ParameterNode deepCopy()
ParseTreeNode
Note: implementing classes can return the concrete type instead of ParseTreeNode (using Java 1.5 covariant return types)
deepCopy
in interface ParseTreeNode
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |