001    /*
002    // $Id: //open/mondrian-release/3.2/src/main/mondrian/calc/MemberListCalc.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/MemberListCalc.java#1 $
022     * @since Sep 27, 2005
023     */
024    public interface MemberListCalc extends ListCalc {
025        /**
026         * Evaluates an expression to yield a list of members.
027         *
028         * <p>The list is immutable if {@link #getResultStyle()} yields
029         * {@link mondrian.calc.ResultStyle#MUTABLE_LIST}. Otherwise,
030         * the caller must not modify the list.
031         *
032         * @param evaluator Evaluation context
033         * @return A list of members, never null.
034         */
035        List<Member> evaluateMemberList(Evaluator evaluator);
036    }
037    
038    // End MemberListCalc.java