Package mondrian.rolap
Class RolapCubeLevel
- java.lang.Object
-
- mondrian.olap.OlapElementBase
-
- mondrian.olap.LevelBase
-
- mondrian.rolap.RolapLevel
-
- mondrian.rolap.RolapCubeLevel
-
- All Implemented Interfaces:
Annotated
,Level
,OlapElement
public class RolapCubeLevel extends RolapLevel
RolapCubeLevel wraps a RolapLevel for a specific Cube.- Author:
- Will Gorman, 19 October 2007
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
RolapCubeLevel.AllLevelReaderImpl
Level reader for the level which contains the 'all' member.(package private) static interface
RolapCubeLevel.LevelReader
Encapsulation of the difference between levels in terms of how constraints are generated.(package private) static class
RolapCubeLevel.NullLevelReader
Level reader for the level which contains the null member.(package private) static class
RolapCubeLevel.ParentChildLevelReaderImpl
Level reader for a parent-child level which has a closed peer level.(package private) static class
RolapCubeLevel.RegularLevelReader
Level reader for a regular level.-
Nested classes/interfaces inherited from class mondrian.rolap.RolapLevel
RolapLevel.HideMemberCondition
-
Nested classes/interfaces inherited from interface mondrian.olap.OlapElement
OlapElement.LocalizedProperty
-
-
Field Summary
Fields Modifier and Type Field Description protected RolapCubeLevel.LevelReader
levelReader
-
Fields inherited from class mondrian.rolap.RolapLevel
captionExp, FLAG_ALL, FLAG_UNIQUE, keyExp, nameExp, ordinalExp, parentExp, properties, xmlClosure
-
Fields inherited from class mondrian.olap.LevelBase
approxRowCount, depth, description, hierarchy, levelType, memberFormatter, name, uniqueName
-
Fields inherited from class mondrian.olap.OlapElementBase
caption, visible
-
-
Constructor Summary
Constructors Constructor Description RolapCubeLevel(RolapLevel level, RolapCubeHierarchy cubeHierarchy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(RolapCubeLevel level)
RolapStar.Column
getBaseStarKeyColumn(RolapCube baseCube)
this method returns the RolapStar.Column if non-virtual, if virtual, find the base cube level and return it's columnString
getCaption()
Returns the display name of this catalog element.RolapCubeLevel
getChildLevel()
RolapCubeLevel
getClosedPeer()
RolapCube
getCube()
Returns the (non virtual) cube this level belongs to.RolapCubeDimension
getDimension()
Returns the dimension of a this expression, or null if no dimension is defined.RolapCubeHierarchy
getHierarchy()
(package private) RolapCubeLevel.LevelReader
getLevelReader()
MemberFormatter
getMemberFormatter()
Returns the object that is used to format members of this level.RolapCubeLevel
getParentLevel()
RolapLevel
getRolapLevel()
Returns the underlying level.RolapStar.Column
getStarKeyColumn()
This is the RolapStar.Column that is related to this RolapCubeLevel(package private) boolean
hasClosedPeer()
Returns true when the level is part of a parent/child hierarchy and has an equivalent closed level.(package private) void
init(MondrianDef.CubeDimension xmlDimension)
void
setCaption(String caption)
Sets the display name of this catalog element.void
setStarKeyColumn(RolapStar.Column column)
-
Methods inherited from class mondrian.rolap.RolapLevel
areMembersUnique, getAnnotationMap, getApproxRowCount, getCaptionExp, getDatatype, getFlags, getHideMemberCondition, getInheritedProperties, getInternalType, getKeyExp, getLogger, getNameExp, getNullParentValue, getOrdinalExp, getParentExp, getProperties, getTableAlias, getTableName, hasCaptionColumn, isAll, isParentChild, isSimple, isUnique, lookupChild, lookupChild, lookupLevel
-
Methods inherited from class mondrian.olap.LevelBase
getDepth, getDescription, getLevelType, getName, getQualifiedName, getUniqueName, isMeasure, setApproxRowCount
-
Methods inherited from class mondrian.olap.OlapElementBase
clone, computeHashCode, equals, equals, getLocalized, hashCode, isVisible, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface mondrian.olap.OlapElement
getLocalized, isVisible
-
-
-
-
Field Detail
-
levelReader
protected RolapCubeLevel.LevelReader levelReader
-
-
Constructor Detail
-
RolapCubeLevel
public RolapCubeLevel(RolapLevel level, RolapCubeHierarchy cubeHierarchy)
-
-
Method Detail
-
init
void init(MondrianDef.CubeDimension xmlDimension)
- Overrides:
init
in classRolapLevel
-
setStarKeyColumn
public void setStarKeyColumn(RolapStar.Column column)
-
getStarKeyColumn
public RolapStar.Column getStarKeyColumn()
This is the RolapStar.Column that is related to this RolapCubeLevel- Returns:
- the RolapStar.Column related to this RolapCubeLevel
-
getLevelReader
RolapCubeLevel.LevelReader getLevelReader()
-
getBaseStarKeyColumn
public RolapStar.Column getBaseStarKeyColumn(RolapCube baseCube)
this method returns the RolapStar.Column if non-virtual, if virtual, find the base cube level and return it's column- Parameters:
baseCube
- the base cube for the specificed virtual level- Returns:
- the RolapStar.Column related to this RolapCubeLevel
-
getCube
public final RolapCube getCube()
Returns the (non virtual) cube this level belongs to.- Returns:
- cube
-
getDimension
public final RolapCubeDimension getDimension()
Description copied from interface:OlapElement
Returns the dimension of a this expression, or null if no dimension is defined. Applicable only to set expressions.Example 1:
has dimension[Sales].children
[Sales]
.Example 2:
has dimension [Promotion Media].order(except([Promotion Media].[Media Type].members, {[Promotion Media].[Media Type].[No Media]}), [Measures].[Unit Sales], DESC)
Example 3:
has no dimension (well, actually it is [Product] x [Gender], but we can't represent that, so we return null);CrossJoin([Product].[Product Department].members, [Gender].members)
- Specified by:
getDimension
in interfaceOlapElement
- Overrides:
getDimension
in classLevelBase
-
getHierarchy
public final RolapCubeHierarchy getHierarchy()
- Specified by:
getHierarchy
in interfaceLevel
- Specified by:
getHierarchy
in interfaceOlapElement
- Overrides:
getHierarchy
in classRolapLevel
-
getChildLevel
public final RolapCubeLevel getChildLevel()
- Specified by:
getChildLevel
in interfaceLevel
- Overrides:
getChildLevel
in classLevelBase
-
getParentLevel
public final RolapCubeLevel getParentLevel()
- Specified by:
getParentLevel
in interfaceLevel
- Overrides:
getParentLevel
in classLevelBase
-
getCaption
public String getCaption()
Description copied from class:OlapElementBase
Returns the display name of this catalog element. If no caption is defined, the name is returned.- Specified by:
getCaption
in interfaceOlapElement
- Overrides:
getCaption
in classOlapElementBase
-
setCaption
public void setCaption(String caption)
Description copied from class:OlapElementBase
Sets the display name of this catalog element.- Overrides:
setCaption
in classOlapElementBase
-
getRolapLevel
public RolapLevel getRolapLevel()
Returns the underlying level.- Returns:
- Underlying level
-
equals
public boolean equals(RolapCubeLevel level)
-
hasClosedPeer
boolean hasClosedPeer()
Description copied from class:RolapLevel
Returns true when the level is part of a parent/child hierarchy and has an equivalent closed level.- Overrides:
hasClosedPeer
in classRolapLevel
-
getClosedPeer
public RolapCubeLevel getClosedPeer()
- Overrides:
getClosedPeer
in classRolapLevel
-
getMemberFormatter
public MemberFormatter getMemberFormatter()
Description copied from interface:Level
Returns the object that is used to format members of this level.- Specified by:
getMemberFormatter
in interfaceLevel
- Overrides:
getMemberFormatter
in classLevelBase
-
-