001 /* 002 // $Id: //open/mondrian/src/main/mondrian/rolap/RolapStoredMeasure.java#17 $ 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/src/main/mondrian/rolap/RolapStoredMeasure.java#17 $ 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