001 /* 002 // $Id: //open/mondrian/src/main/mondrian/calc/TupleListCalc.java#1 $ 003 // This software is subject to the terms of the Common Public License 004 // Agreement, available at the following URL: 005 // http://www.opensource.org/licenses/cpl.html. 006 // Copyright (C) 2006-2008 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 // End ListCalc.java 018 019 /** 020 * Expression which evaluates a set of members or tuples to a list. 021 * 022 * @author jhyde 023 * @version $Id: //open/mondrian/src/main/mondrian/calc/TupleListCalc.java#1 $ 024 * @since Sep 27, 2005 025 */ 026 public interface TupleListCalc extends ListCalc { 027 /** 028 * Evaluates an expression to yield a list of tuples. 029 * 030 * <p>Each tuple is represented by an array of members. 031 * 032 * <p>The list is immutable if {@link #getResultStyle()} yields 033 * {@link mondrian.calc.ResultStyle#MUTABLE_LIST}. Otherwise, 034 * the caller must not modify the list. 035 * 036 * @param evaluator Evaluation context 037 * @return A list of tuples, never null. 038 */ 039 List<Member[]> evaluateTupleList(Evaluator evaluator); 040 } 041 042 // End TupleListCalc.java