1 /* 2 // $Id: //open/mondrian/src/main/mondrian/olap/FunCall.java#22 $ 3 // This software is subject to the terms of the Common Public License 4 // Agreement, available at the following URL: 5 // http://www.opensource.org/licenses/cpl.html. 6 // Copyright (C) 1998-2002 Kana Software, Inc. 7 // Copyright (C) 2001-2006 Julian Hyde and others 8 // All Rights Reserved. 9 // You must accept the terms of that agreement to use this software. 10 */ 11 package mondrian.olap; 12 13 /** 14 * A <code>FunCall</code> is a function applied to a list of operands. 15 * 16 * <p>The parser creates function calls as an 17 * {@link mondrian.mdx.UnresolvedFunCall unresolved function call}. 18 * The validator converts it to a 19 * {@link mondrian.mdx.ResolvedFunCall resolved function call}, 20 * which has a {@link FunDef function definition} and extra type information. 21 * 22 * @author jhyde 23 * @version $Id: //open/mondrian/src/main/mondrian/olap/FunCall.java#22 $ 24 * @since Jan 6, 2006 25 */ 26 public interface FunCall extends Exp { 27 /** 28 * Returns the <code>index</code><sup>th</sup> argument to this function 29 * call. 30 * 31 * @param index Ordinal of the argument 32 * @return <code>index</code><sup>th</sup> argument to this function call 33 */ 34 Exp getArg(int index); 35 36 /** 37 * Returns the arguments to this function. 38 * 39 * @return array of arguments 40 */ 41 Exp[] getArgs(); 42 43 /** 44 * Returns the number of arguments to this function. 45 * 46 * @return number of arguments 47 */ 48 int getArgCount(); 49 50 /** 51 * Returns the name of the function. 52 */ 53 String getFunName(); 54 55 /** 56 * Returns the syntax of the call. 57 */ 58 Syntax getSyntax(); 59 } 60 61 // End FunCall.java 62