funtable.java

来自「数据仓库展示程序」· Java 代码 · 共 75 行

JAVA
75
字号
/*
// $Id: //open/mondrian/src/main/mondrian/olap/FunTable.java#12 $
// 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 2002-2005 Kana Software, Inc. and others.
// All Rights Reserved.
// You must accept the terms of that agreement to use this software.
//
// jhyde, 3 March, 2002
 */
package mondrian.olap;
import java.util.*;

/**
 * List of all MDX functions.
 *
 * A function table can resolve a function call, using a particular
 * {@link Syntax} and set of arguments, to a
 * function definition ({@link FunDef}).
 */
public interface FunTable {
    /**
     * Resolves a function call to a particular function. If the function is
     * overloaded, returns as precise a match to the argument types as
     * possible.
     **/
    FunDef getDef(FunCall call, Validator validator);

    /**
     * Returns whether a string is a reserved word.
     */
    boolean isReserved(String s);

    /**
     * Returns whether a string is a property-style (postfix)
     * operator. This is used during parsing to disambiguate
     * functions from unquoted member names.
     */
    boolean isProperty(String s);

    /**
     * Returns whether the <code>k</code>th argument to a function call
     * has to be an expression.
     */
    boolean requiresExpression(
            FunCall funCall,
            int k,
            Validator validator);

    /**
     * Returns a list of words ({@link String}) which may not be used as
     * identifiers.
     */
    List getReservedWords();

    /**
     * Returns a list of {@link mondrian.olap.fun.Resolver} objects.
     */
    List getResolvers();

    /**
     * Returns a list of {@link mondrian.olap.fun.FunInfo} objects.
     */
    List getFunInfoList();

    /**
     * Creates an expression which will yield the scalar value of a given
     * expression.
     */
    Exp createValueFunCall(Exp exp, Validator validator);
}

// End FunTable.java

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?