001 /*
002 // $Id: //open/mondrian-release/3.0/src/main/mondrian/olap/Dimension.java#3 $
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) 1999-2002 Kana Software, Inc.
007 // Copyright (C) 2001-2005 Julian Hyde and others
008 // All Rights Reserved.
009 // You must accept the terms of that agreement to use this software.
010 //
011 // jhyde, 1 March, 1999
012 */
013
014 package mondrian.olap;
015
016 /**
017 * A <code>Dimension</code> represents a dimension of a cube.
018 */
019 public interface Dimension extends OlapElement {
020 final String MEASURES_UNIQUE_NAME = "[Measures]";
021 final String MEASURES_NAME = "Measures";
022
023 /**
024 * Returns an array of the hierarchies which belong to this dimension.
025 */
026 Hierarchy[] getHierarchies();
027
028 /**
029 * Returns whether this is the <code>[Measures]</code> dimension.
030 */
031 boolean isMeasures();
032
033 /**
034 * Returns the type of this dimension
035 * ({@link DimensionType#StandardDimension} or
036 * {@link DimensionType#TimeDimension}
037 */
038 DimensionType getDimensionType();
039
040 /**
041 * Returns dimension's ordinal within a given cube.
042 * The <code>[Measures]</code> always has ordinal 0.
043 */
044 int getOrdinal(Cube cube);
045
046 /**
047 * Returns the schema this dimension belongs to.
048 */
049 Schema getSchema();
050 }
051
052 // End Dimension.java