001/* 002// This software is subject to the terms of the Eclipse Public License v1.0 003// Agreement, available at the following URL: 004// http://www.eclipse.org/legal/epl-v10.html. 005// You must accept the terms of that agreement to use this software. 006// 007// Copyright (C) 2006-2007 Pentaho 008// All Rights Reserved. 009*/ 010package mondrian.calc; 011 012import mondrian.olap.Evaluator; 013import 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 * @since Sep 26, 2005 023 */ 024public interface MemberCalc extends Calc { 025 /** 026 * Evaluates this expression to yield a member. 027 * 028 * <p>May return the null member (see 029 * {@link mondrian.olap.Hierarchy#getNullMember()}) but never null. 030 * 031 * @param evaluator Evaluation context 032 * @return a member 033 */ 034 Member evaluateMember(Evaluator evaluator); 035} 036 037// End MemberCalc.java