001    /*
002    // $Id: //open/mondrian/src/main/mondrian/calc/DateTimeCalc.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-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    
014    import java.util.Date;
015    
016    /**
017     * Compiled expression whose result is a {@link Date}, representing an MDX
018     * DateTime value.
019     *
020     * <p>When implementing this interface, it is convenient to extend
021     * {@link mondrian.calc.impl.AbstractDateTimeCalc}, but it is not required.
022     *
023     * @author jhyde
024     * @version $Id: //open/mondrian/src/main/mondrian/calc/DateTimeCalc.java#1 $
025     * @since Sep 26, 2005
026     */
027    public interface DateTimeCalc extends Calc {
028        /**
029         * Evaluates this expression to yield a {@link Date} value.
030         *
031         * @param evaluator Evaluation context
032         * @return evaluation result
033         */
034        Date evaluateDateTime(Evaluator evaluator);
035    }
036    
037    // End DateTimeCalc.java