com.tonbeller.jpivot.mondrian
Class MondrianExpressionParser

java.lang.Object
  extended by com.tonbeller.jpivot.core.ExtensionSupport
      extended by com.tonbeller.jpivot.mondrian.MondrianExpressionParser
All Implemented Interfaces:
Extension, ExpressionParser

public class MondrianExpressionParser
extends ExtensionSupport
implements ExpressionParser

let Mondrian parse a String expression


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.tonbeller.jpivot.olap.navi.ExpressionParser
ExpressionParser.InvalidSyntaxException
 
Field Summary
 
Fields inherited from interface com.tonbeller.jpivot.olap.navi.ExpressionParser
ID
 
Constructor Summary
MondrianExpressionParser()
           
 
Method Summary
 Dimension lookupDimension(java.lang.String uniqueName)
          typespecific lookup because Mondrians unique names are not unique.
 Hierarchy lookupHierarchy(java.lang.String uniqueName)
          typespecific lookup because Mondrians unique names are not unique.
 Level lookupLevel(java.lang.String uniqueName)
          typespecific lookup because Mondrians unique names are not unique.
 Member lookupMember(java.lang.String uniqueName)
          typespecific lookup because Mondrians unique names are not unique.
 Expression parse(java.lang.String expr)
          parse a String currently we cannot handle anything different from - string - number - member.
 java.lang.String unparse(Expression expr)
           
 
Methods inherited from class com.tonbeller.jpivot.core.ExtensionSupport
decorate, getId, getModel, modelInitialized, setId, setModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.tonbeller.jpivot.core.Extension
decorate, getId, modelInitialized, setModel
 

Constructor Detail

MondrianExpressionParser

public MondrianExpressionParser()
Method Detail

unparse

public java.lang.String unparse(Expression expr)
Specified by:
unparse in interface ExpressionParser
See Also:
ExpressionParser.unparse(com.tonbeller.jpivot.olap.model.Expression)

parse

public Expression parse(java.lang.String expr)
                 throws ExpressionParser.InvalidSyntaxException
parse a String currently we cannot handle anything different from - string - number - member.

Specified by:
parse in interface ExpressionParser
Throws:
ExpressionParser.InvalidSyntaxException
See Also:
ExpressionParser.parse(java.lang.String)

lookupMember

public Member lookupMember(java.lang.String uniqueName)
                    throws ExpressionParser.InvalidSyntaxException
Description copied from interface: ExpressionParser
typespecific lookup because Mondrians unique names are not unique. [Measures] is the unique name for both, Hierarchy and Dimension

Specified by:
lookupMember in interface ExpressionParser
Throws:
ExpressionParser.InvalidSyntaxException

lookupLevel

public Level lookupLevel(java.lang.String uniqueName)
                  throws ExpressionParser.InvalidSyntaxException
Description copied from interface: ExpressionParser
typespecific lookup because Mondrians unique names are not unique. [Measures] is the unique name for both, Hierarchy and Dimension. much faster than lookupMember or parse(uname) because it does not have to look into the DB.

Specified by:
lookupLevel in interface ExpressionParser
Throws:
ExpressionParser.InvalidSyntaxException

lookupHierarchy

public Hierarchy lookupHierarchy(java.lang.String uniqueName)
                          throws ExpressionParser.InvalidSyntaxException
Description copied from interface: ExpressionParser
typespecific lookup because Mondrians unique names are not unique. [Measures] is the unique name for both, Hierarchy and Dimension much faster than lookupMember or parse(uname) because it does not have to look into the DB.

Specified by:
lookupHierarchy in interface ExpressionParser
Throws:
ExpressionParser.InvalidSyntaxException

lookupDimension

public Dimension lookupDimension(java.lang.String uniqueName)
                          throws ExpressionParser.InvalidSyntaxException
Description copied from interface: ExpressionParser
typespecific lookup because Mondrians unique names are not unique. [Measures] is the unique name for both, Hierarchy and Dimension much faster than lookupMember or parse(uname) because it does not have to look into the DB.

Specified by:
lookupDimension in interface ExpressionParser
Throws:
ExpressionParser.InvalidSyntaxException