001 /* 002 // $Id: //open/mondrian/src/main/mondrian/calc/ListCalc.java#6 $ 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 016 /** 017 * Expression which evaluates a set of members or tuples to a list. 018 * 019 * @author jhyde 020 * @version $Id: //open/mondrian/src/main/mondrian/calc/ListCalc.java#6 $ 021 * @since Sep 27, 2005 022 */ 023 public interface ListCalc extends Calc { 024 /** 025 * Evaluates an expression to yield a list of members or tuples. 026 * 027 * <p>The list is immutable if {@link #getResultStyle()} yields 028 * {@link ResultStyle#MUTABLE_LIST}. Otherwise, 029 * the caller must not modify the list. 030 * 031 * @param evaluator Evaluation context 032 * @return A list of members or tuples, never null. 033 */ 034 List evaluateList(Evaluator evaluator); 035 } 036 037 // End ListCalc.java