|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.olap4j.mdx.LiteralNode
public class LiteralNode
Represents a constant value, such as a string or number, in a parse tree.
Symbols, such as the ASC
keyword in
Order([Store].Members, [Measures].[Unit Sales], ASC)
, are
also represented as Literals.
A LiteralNode is immutable.
Method Summary | ||
---|---|---|
|
accept(ParseTreeVisitor<T> visitor)
Accepts a visitor to this MDX parse tree node. |
|
static LiteralNode |
create(ParseRegion region,
java.lang.Double value)
Creates a floating-point numeric literal. |
|
static LiteralNode |
create(ParseRegion region,
java.lang.Integer value)
Creates an integer literal. |
|
static LiteralNode |
createNull(ParseRegion region)
Creates a literal with the NULL value. |
|
static LiteralNode |
createString(ParseRegion region,
java.lang.String value)
Creates a string literal. |
|
static LiteralNode |
createSymbol(ParseRegion region,
java.lang.String value)
Creates a symbol literal. |
|
LiteralNode |
deepCopy()
Creates a deep copy of this ParseTreeNode object. |
|
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. |
|
java.lang.Object |
getValue()
Returns the value of this literal. |
|
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 |
Method Detail |
---|
public static LiteralNode createNull(ParseRegion region)
region
- Region of source code
public static LiteralNode createString(ParseRegion region, java.lang.String value)
region
- Region of source codevalue
- String value
createSymbol(org.olap4j.mdx.ParseRegion, java.lang.String)
public static LiteralNode createSymbol(ParseRegion region, java.lang.String value)
region
- Region of source codevalue
- Name of symbol
createString(org.olap4j.mdx.ParseRegion, java.lang.String)
public static LiteralNode create(ParseRegion region, java.lang.Double value)
region
- Region of source codevalue
- Value of literal; must not be null
public static LiteralNode create(ParseRegion region, java.lang.Integer value)
region
- Region of source codevalue
- Value of literal; must not be null
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 Type getType()
ParseTreeNode
Returns null if this node is not an expression, for instance a
SELECT
node.
getType
in interface ParseTreeNode
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 java.lang.Object getValue()
public void unparse(ParseTreeWriter writer)
ParseTreeNode
unparse
in interface ParseTreeNode
writer
- Parse tree writerpublic LiteralNode 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 |