exp.java
来自「数据仓库展示程序」· Java 代码 · 共 87 行
JAVA
87 行
/*
// $Id: //open/mondrian/src/main/mondrian/olap/Exp.java#14 $
// This software is subject to the terms of the Common Public License
// Agreement, available at the following URL:
// http://www.opensource.org/licenses/cpl.html.
// (C) Copyright 1999-2005 Kana Software, Inc. and others.
// All Rights Reserved.
// You must accept the terms of that agreement to use this software.
//
// jhyde, 20 January, 1999
*/
package mondrian.olap;
import mondrian.olap.type.Type;
import java.io.PrintWriter;
/**
* An <code>Exp</code> is an MDX expression.
**/
public interface Exp {
Object clone();
/**
* Returns the {@link Category} of the expression.
* @post Category.instance().isValid(return)
**/
int getCategory();
/**
* @deprecated Use {@link #getCategory()}
**/
int getType();
/**
* Returns the type of this expression. Never null.
*/
Type getTypeX();
boolean isElement();
boolean isEmptySet();
void unparse(PrintWriter pw);
/**
* Validates this expression.
*
* The validator acts in the role of 'visitor' (see Gang of Four
* 'visitor pattern'), and an expression in the role of 'visitee'.
*
* @param validator Validator contains validation context
*
* @return The validated expression; often but not always the same as
* this expression
*/
Exp accept(Validator validator);
/**
* true means that the result of this expression will be different
* for different members of <code>dimension</code> in the evaluation
* context.
* <p>
* For example, the expression
* <code>[Measures].[Unit Sales]</code> depends on all dimensions
* except Measures. The boolean expression
* <code>([Measures].[Unit Sales], [Time].[1997]) > 1000</code>
* depends on all dimensions except Measures and Time.
*/
boolean dependsOn(Dimension dimension);
/**
* Adds 'exp' as the right child of the CrossJoin whose left child has
* 'iPosition' hierarchies (hence 'iPosition' - 1 CrossJoins) under it. If
* added successfully, returns -1, else returns the number of hierarchies
* under this node.
**/
int addAtPosition(Exp e, int iPosition);
Object evaluate(Evaluator evaluator);
Object evaluateScalar(Evaluator evaluator);
}
// End Exp.java
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?