Package mondrian.rolap
Class RolapCubeHierarchy
java.lang.Object
mondrian.olap.OlapElementBase
mondrian.olap.HierarchyBase
mondrian.rolap.RolapHierarchy
mondrian.rolap.RolapCubeHierarchy
- All Implemented Interfaces:
Annotated
,Hierarchy
,OlapElement
Hierarchy that is associated with a specific Cube.
- Author:
- Will Gorman, 19 October 2007
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
member reader wrapper - uses existing member reader, but wraps and caches all intermediate members.class
Same asRolapCubeHierarchy.RolapCubeHierarchyMemberReader
but without caching anything.static interface
TODO: Since this is part of a caching strategy, should be implemented as a Strategy Pattern, avoiding hierarchy.static class
Nested classes/interfaces inherited from class mondrian.rolap.RolapHierarchy
RolapHierarchy.LimitedRollupMember, RolapHierarchy.RolapCalculatedMeasure
Nested classes/interfaces inherited from interface mondrian.olap.OlapElement
OlapElement.LocalizedProperty
-
Field Summary
Modifier and TypeFieldDescriptionprotected final boolean
True if the hierarchy is degenerate - has no dimension table of its own, just drives from the cube's fact table.Fields inherited from class mondrian.rolap.RolapHierarchy
nullLevel, relation, xmlHierarchy
Fields inherited from class mondrian.olap.HierarchyBase
allLevelName, allMemberName, description, dimension, hasAll, levels, name, subName, uniqueName
Fields inherited from class mondrian.olap.OlapElementBase
caption, visible
-
Constructor Summary
ConstructorDescriptionRolapCubeHierarchy
(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal) Creates a RolapCubeHierarchy.RolapCubeHierarchy
(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal, RolapCube factCube) Creates a RolapCubeHierarchy. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
Computes this object's hash code.createMember
(Member parent, Level level, String name, Formula formula) Creates a member of this hierarchy.boolean
protected void
extractNewAliases
(MondrianDef.RelationOrJoin oldrel, MondrianDef.RelationOrJoin newrel) Populates the alias map for the old and new relations.Returns the name of the 'all' level in this hierarchy.Returns the 'all' member.final RolapCube
getCube()
final RolapCubeMember
Returns the default member of this hierarchy.Returns the levels in this hierarchy.Returns a special member representing the "null" value.final int
Returns the ordinal of this hierarchy in its cube.The currentRelation object is derived from the shared relation object it is generated via the RolapStar object, and contains unique aliases for its particular join pathfinal RolapHierarchy
Returns the name of the source hierarchy, if this hierarchy is shared, otherwise null.boolean
lookupAlias
(String origTable) void
setDefaultMember
(Member defaultMeasure) Sets default member of this Hierarchy.Methods inherited from class mondrian.rolap.RolapHierarchy
createAnnotationMap, getAnnotationMap, getDisplayFolder, getLogger, getRolapSchema, getUniqueKeyLevelName, getXmlHierarchy, isRagged
Methods inherited from class mondrian.olap.HierarchyBase
equals, getDescription, getDimension, getHierarchy, getName, getQualifiedName, getSubName, getUniqueName, getUniqueNameSsas, hasAll, lookupChild
Methods inherited from class mondrian.olap.OlapElementBase
clone, getCaption, getLocalized, hashCode, isVisible, setCaption, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface mondrian.olap.OlapElement
getCaption, getLocalized, isVisible
-
Field Details
-
usingCubeFact
protected final boolean usingCubeFactTrue if the hierarchy is degenerate - has no dimension table of its own, just drives from the cube's fact table.
-
-
Constructor Details
-
RolapCubeHierarchy
public RolapCubeHierarchy(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal) Creates a RolapCubeHierarchy.- Parameters:
cubeDimension
- DimensioncubeDim
- XML dimension elementrolapHierarchy
- Wrapped hierarchysubName
- Name of hierarchy within dimensionordinal
- Ordinal of hierarchy within cube
-
RolapCubeHierarchy
public RolapCubeHierarchy(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal, RolapCube factCube) Creates a RolapCubeHierarchy.- Parameters:
cubeDimension
- DimensioncubeDim
- XML dimension elementrolapHierarchy
- Wrapped hierarchysubName
- Name of hierarchy within dimensionordinal
- Ordinal of hierarchy within cubefactCube
- Optional - specified for virtual cube dimension
-
-
Method Details
-
getLevels
Description copied from interface:Hierarchy
Returns the levels in this hierarchy.If a hierarchy is subject to access-control, some of the levels may not be visible; use
SchemaReader.getHierarchyLevels(mondrian.olap.Hierarchy)
instead.- Specified by:
getLevels
in interfaceHierarchy
- Overrides:
getLevels
in classHierarchyBase
-
getAllMemberName
- Overrides:
getAllMemberName
in classHierarchyBase
-
getAllLevelName
Description copied from class:HierarchyBase
Returns the name of the 'all' level in this hierarchy.- Overrides:
getAllLevelName
in classHierarchyBase
- Returns:
- name of the 'all' level
-
isUsingCubeFact
public boolean isUsingCubeFact() -
lookupAlias
-
getRolapHierarchy
-
getOrdinalInCube
public final int getOrdinalInCube()Description copied from class:RolapHierarchy
Returns the ordinal of this hierarchy in its cube.Temporarily defined against RolapHierarchy; will be moved to RolapCubeHierarchy as soon as the measures hierarchy is a RolapCubeHierarchy.
- Overrides:
getOrdinalInCube
in classRolapHierarchy
- Returns:
- Ordinal of this hierarchy in its cube
-
extractNewAliases
protected void extractNewAliases(MondrianDef.RelationOrJoin oldrel, MondrianDef.RelationOrJoin newrel) Populates the alias map for the old and new relations.This method may be simplified when we obsolete
HierarchyUsage
.- Parameters:
oldrel
- Original relation, as defined in the schemanewrel
- New star relation, generated by RolapStar, canonical, and shared between all cubes with similar structure
-
equals
- Overrides:
equals
in classRolapHierarchy
-
computeHashCode
protected int computeHashCode()Description copied from class:OlapElementBase
Computes this object's hash code. Called at most once.- Overrides:
computeHashCode
in classRolapHierarchy
- Returns:
- hash code
-
createMember
Description copied from interface:Hierarchy
Creates a member of this hierarchy. If this is the measures hierarchy, a calculated member is created, andformula
must not be null.- Specified by:
createMember
in interfaceHierarchy
- Overrides:
createMember
in classRolapHierarchy
-
getRelation
The currentRelation object is derived from the shared relation object it is generated via the RolapStar object, and contains unique aliases for its particular join path- Overrides:
getRelation
in classRolapHierarchy
- Returns:
- rolap cube hierarchy relation
-
getDefaultMember
Description copied from interface:Hierarchy
Returns the default member of this hierarchy.If a hierarchy is subject to access-control, the default member may not be visible, so use
SchemaReader.getHierarchyDefaultMember(mondrian.olap.Hierarchy)
.- Specified by:
getDefaultMember
in interfaceHierarchy
- Overrides:
getDefaultMember
in classRolapHierarchy
-
getNullMember
Description copied from interface:Hierarchy
Returns a special member representing the "null" value. This never occurs on an axis, but may occur if functions such asLead
,NextMember
andParentMember
walk off the end of the hierarchy.- Specified by:
getNullMember
in interfaceHierarchy
- Overrides:
getNullMember
in classRolapHierarchy
-
getAllMember
Returns the 'all' member.- Specified by:
getAllMember
in interfaceHierarchy
- Overrides:
getAllMember
in classRolapHierarchy
-
setDefaultMember
Description copied from class:RolapHierarchy
Sets default member of this Hierarchy.- Overrides:
setDefaultMember
in classRolapHierarchy
- Parameters:
defaultMeasure
- Default member
-
getCube
-