001 /*
002 // $Id: //open/mondrian-release/3.0/src/main/mondrian/rolap/RolapStoredMeasure.java#2 $
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) 2001-2002 Kana Software, Inc.
007 // Copyright (C) 2001-2007 Julian Hyde and others
008 // All Rights Reserved.
009 // You must accept the terms of that agreement to use this software.
010 //
011 // jhyde, 10 August, 2001
012 */
013
014 package mondrian.rolap;
015 import mondrian.olap.MondrianDef;
016
017 /**
018 * A measure which is implemented by a SQL column or SQL expression (as opposed
019 * to a {@link RolapCalculatedMember}.
020 *
021 * <p>Implemented by {@link RolapBaseCubeMeasure} and
022 * {@link RolapVirtualCubeMeasure}.
023 *
024 * @author jhyde
025 * @since 10 August, 2001
026 * @version $Id: //open/mondrian-release/3.0/src/main/mondrian/rolap/RolapStoredMeasure.java#2 $
027 */
028 public interface RolapStoredMeasure extends RolapMeasure {
029 /**
030 * Returns the cube this measure belongs to.
031 */
032 RolapCube getCube();
033
034 /**
035 * Returns the column which holds the value of the measure.
036 */
037 MondrianDef.Expression getMondrianDefExpression();
038
039 /**
040 * Returns the aggregation function which rolls up this measure: "SUM",
041 * "COUNT", etc.
042 */
043 RolapAggregator getAggregator();
044
045 /**
046 * Returns the {@link mondrian.rolap.RolapStar.Measure} from which this
047 * member is computed. Untyped, because another implementation might store
048 * it somewhere else.
049 */
050 Object getStarMeasure();
051 }
052
053 // End RolapStoredMeasure.java