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) 2001-2005 Julian Hyde 008// Copyright (C) 2005-2007 Pentaho and others 009// All Rights Reserved. 010// 011// jhyde, 10 August, 2001 012*/ 013package mondrian.rolap; 014 015import 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 */ 027public interface RolapStoredMeasure extends RolapMeasure { 028 /** 029 * Returns the cube this measure belongs to. 030 */ 031 RolapCube getCube(); 032 033 /** 034 * Returns the column which holds the value of the measure. 035 */ 036 MondrianDef.Expression getMondrianDefExpression(); 037 038 /** 039 * Returns the aggregation function which rolls up this measure: "SUM", 040 * "COUNT", etc. 041 */ 042 RolapAggregator getAggregator(); 043 044 /** 045 * Returns the {@link mondrian.rolap.RolapStar.Measure} from which this 046 * member is computed. Untyped, because another implementation might store 047 * it somewhere else. 048 */ 049 Object getStarMeasure(); 050} 051 052// End RolapStoredMeasure.java