|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Validator
Provides context necessary to resolve identifiers to objects, function calls to specific functions.
An expression calls validate(mondrian.olap.Exp, boolean)
on each of its children,
which in turn calls Exp.accept(mondrian.olap.Validator)
.
Method Summary | |
---|---|
boolean |
alwaysResolveFunDef()
Whether to resolve function name and arguments to a function definition each time a node is validated, not just the first time. |
boolean |
canConvert(int ordinal,
Exp fromExp,
int to,
java.util.List<Resolver.Conversion> conversions)
Returns whether we can convert an argument to a parameter type. |
Parameter |
createOrLookupParam(boolean definition,
java.lang.String name,
Type type,
Exp defaultExp,
java.lang.String description)
Creates or retrieves the parameter corresponding to a "Parameter" or "ParamRef" function call. |
FunDef |
getDef(Exp[] args,
java.lang.String name,
Syntax syntax)
Resolves a function call to a particular function. |
FunTable |
getFunTable()
Returns the table of function and operator definitions. |
Query |
getQuery()
Returns the Query which is being validated. |
SchemaReader |
getSchemaReader()
Returns the schema reader with which to resolve names of MDX objects (dimensions, hierarchies, levels, members, named sets). |
boolean |
requiresExpression()
Returns whether the current context requires an expression. |
Exp |
validate(Exp exp,
boolean scalar)
Validates an expression, and returns the expression it resolves to. |
void |
validate(Formula formula)
Validates a formula. |
void |
validate(MemberProperty memberProperty)
Validates a child member property. |
void |
validate(ParameterExpr parameterExpr)
Validates a usage of a parameter. |
void |
validate(QueryAxis axis)
Validates an axis. |
Method Detail |
---|
Query getQuery()
Query
which is being validated.
Exp validate(Exp exp, boolean scalar)
exp
- Expression to validatescalar
- Whether the context requires that the expression is
evaluated to a value, as opposed to a tuplevoid validate(ParameterExpr parameterExpr)
It must resolve to the same object (although sub-objects may change).
void validate(MemberProperty memberProperty)
It must resolve to the same object (although sub-objects may change).
void validate(QueryAxis axis)
void validate(Formula formula)
boolean requiresExpression()
boolean canConvert(int ordinal, Exp fromExp, int to, java.util.List<Resolver.Conversion> conversions)
ordinal
- argument ordinalfromExp
- argument typeto
- parameter typeconversions
- List of conversions performed;
method adds an element for each non-trivial conversion (for
example, converting a member to a level).
FunTable getFunTable()
Parameter createOrLookupParam(boolean definition, java.lang.String name, Type type, Exp defaultExp, java.lang.String description)
FunDef getDef(Exp[] args, java.lang.String name, Syntax syntax)
boolean alwaysResolveFunDef()
Default implementation returns false
.
SchemaReader getSchemaReader()
The schema reader is initially in the context of the query's cube, and during a traversal it may change if named sets are introduced using the 'expr AS alias' construct.
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |