001 /* 002 // $Id: //open/mondrian/src/main/mondrian/calc/MemberCalc.java#5 $ 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-2007 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 mondrian.olap.Evaluator; 013 import mondrian.olap.Member; 014 015 /** 016 * Expression which yields a {@link Member}. 017 * 018 * <p>When implementing this interface, it is convenient to extend 019 * {@link mondrian.calc.impl.AbstractMemberCalc}, but it is not required. 020 021 * @author jhyde 022 * @version $Id: //open/mondrian/src/main/mondrian/calc/MemberCalc.java#5 $ 023 * @since Sep 26, 2005 024 */ 025 public interface MemberCalc extends Calc { 026 /** 027 * Evaluates this expression to yield a member. 028 * 029 * <p>May return the null member (see 030 * {@link mondrian.olap.Hierarchy#getNullMember()}) but never null. 031 * 032 * @param evaluator Evaluation context 033 * @return a member 034 */ 035 Member evaluateMember(Evaluator evaluator); 036 } 037 038 // End MemberCalc.java