001 /*
002 // $Id: //open/mondrian-release/3.2/src/main/mondrian/calc/TupleListCalc.java#1 $
003 // This software is subject to the terms of the Eclipse Public License v1.0
004 // Agreement, available at the following URL:
005 // http://www.eclipse.org/legal/epl-v10.html.
006 // Copyright (C) 2006-2009 Julian Hyde
007 // All Rights Reserved.
008 // You must accept the terms of that agreement to use this software.
009 */
010 package mondrian.calc;
011
012 import java.util.List;
013
014 import mondrian.olap.Evaluator;
015 import mondrian.olap.Member;
016
017 /**
018 * Expression which evaluates a set of members or tuples to a list.
019 *
020 * @author jhyde
021 * @version $Id: //open/mondrian-release/3.2/src/main/mondrian/calc/TupleListCalc.java#1 $
022 * @since Sep 27, 2005
023 */
024 public interface TupleListCalc extends ListCalc {
025 /**
026 * Evaluates an expression to yield a list of tuples.
027 *
028 * <p>Each tuple is represented by an array of members.
029 *
030 * <p>The list is immutable if {@link #getResultStyle()} yields
031 * {@link mondrian.calc.ResultStyle#MUTABLE_LIST}. Otherwise,
032 * the caller must not modify the list.
033 *
034 * @param evaluator Evaluation context
035 * @return A list of tuples, never null.
036 */
037 List<Member[]> evaluateTupleList(Evaluator evaluator);
038 }
039
040 // End TupleListCalc.java