public class RolapCubeHierarchy extends RolapHierarchy
Modifier and Type | Class and Description |
---|---|
class |
RolapCubeHierarchy.CacheRolapCubeHierarchyMemberReader
member reader wrapper - uses existing member reader,
but wraps and caches all intermediate members.
|
class |
RolapCubeHierarchy.NoCacheRolapCubeHierarchyMemberReader
Same as
RolapCubeHierarchy.RolapCubeHierarchyMemberReader but without caching
anything. |
static interface |
RolapCubeHierarchy.RolapCubeHierarchyMemberReader
TODO: Since this is part of a caching strategy, should be implemented
as a Strategy Pattern, avoiding hierarchy.
|
static class |
RolapCubeHierarchy.RolapCubeSqlMemberSource |
RolapHierarchy.LimitedRollupMember, RolapHierarchy.RolapCalculatedMeasure
OlapElement.LocalizedProperty
Modifier and Type | Field and Description |
---|---|
protected boolean |
usingCubeFact
True if the hierarchy is degenerate - has no dimension table of its own,
just drives from the cube's fact table.
|
nullLevel, relation, xmlHierarchy
allLevelName, allMemberName, description, dimension, hasAll, levels, name, subName, uniqueName
caption, visible
Constructor and Description |
---|
RolapCubeHierarchy(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.
|
Modifier and Type | Method and Description |
---|---|
protected int |
computeHashCode()
Computes this object's hash code.
|
Member |
createMember(Member parent,
Level level,
String name,
Formula formula)
Creates a member of this hierarchy.
|
boolean |
equals(Object o) |
protected void |
extractNewAliases(MondrianDef.RelationOrJoin oldrel,
MondrianDef.RelationOrJoin newrel)
Populates the alias map for the old and new relations.
|
String |
getAllLevelName()
Returns the name of the 'all' level in this hierarchy.
|
RolapCubeMember |
getAllMember()
Returns the 'all' member.
|
String |
getAllMemberName() |
RolapCube |
getCube() |
RolapCubeMember |
getDefaultMember()
Returns the default member of this hierarchy.
|
RolapCubeLevel[] |
getLevels()
Returns the levels in this hierarchy.
|
Member |
getNullMember()
Returns a special member representing the "null" value.
|
int |
getOrdinalInCube()
Returns the ordinal of this hierarchy in its cube.
|
MondrianDef.RelationOrJoin |
getRelation()
The currentRelation object is derived from the shared relation object
it is generated via the RolapStar object, and contains unique aliases
for it's particular join path
|
RolapHierarchy |
getRolapHierarchy() |
String |
getSharedHierarchyName()
Returns the name of the source hierarchy, if this hierarchy is shared,
otherwise null.
|
boolean |
isUsingCubeFact() |
String |
lookupAlias(String origTable) |
void |
setDefaultMember(Member defaultMeasure)
Sets default member of this Hierarchy.
|
createAnnotationMap, getAnnotationMap, getLogger, getRolapSchema, getUniqueKeyLevelName, getXmlHierarchy, isRagged
equals, getDescription, getDimension, getHierarchy, getName, getQualifiedName, getSubName, getUniqueName, getUniqueNameSsas, hasAll, lookupChild
clone, getCaption, getLocalized, hashCode, isVisible, setCaption, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
getCaption, getLocalized, isVisible
protected final boolean usingCubeFact
public RolapCubeHierarchy(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal)
cubeDimension
- DimensioncubeDim
- XML dimension elementrolapHierarchy
- Wrapped hierarchysubName
- Name of hierarchy within dimensionordinal
- Ordinal of hierarchy within cubepublic RolapCubeHierarchy(RolapCubeDimension cubeDimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName, int ordinal, RolapCube factCube)
cubeDimension
- DimensioncubeDim
- XML dimension elementrolapHierarchy
- Wrapped hierarchysubName
- Name of hierarchy within dimensionordinal
- Ordinal of hierarchy within cubefactCube
- Optional - specified for virtual cube dimensionpublic RolapCubeLevel[] getLevels()
Hierarchy
If a hierarchy is subject to access-control, some of the levels may
not be visible; use SchemaReader.getHierarchyLevels(mondrian.olap.Hierarchy)
instead.
getLevels
in interface Hierarchy
getLevels
in class HierarchyBase
public String getAllMemberName()
getAllMemberName
in class HierarchyBase
public String getSharedHierarchyName()
RolapHierarchy
If this hierarchy is a public -- that is, it belongs to a dimension
which is a usage of a shared dimension -- then
sharedHierarchyName
holds the unique name of the shared
hierarchy; otherwise it is null.
Suppose this hierarchy is "Weekly" in the dimension "Order Date" of
cube "Sales", and that "Order Date" is a usage of the "Time"
dimension. Then sharedHierarchyName
will be
"[Time].[Weekly]".
getSharedHierarchyName
in class RolapHierarchy
public String getAllLevelName()
HierarchyBase
getAllLevelName
in class HierarchyBase
public boolean isUsingCubeFact()
public final RolapHierarchy getRolapHierarchy()
public final int getOrdinalInCube()
RolapHierarchy
Temporarily defined against RolapHierarchy; will be moved to RolapCubeHierarchy as soon as the measures hierarchy is a RolapCubeHierarchy.
getOrdinalInCube
in class RolapHierarchy
protected void extractNewAliases(MondrianDef.RelationOrJoin oldrel, MondrianDef.RelationOrJoin newrel)
This method may be simplified when we obsolete
HierarchyUsage
.
oldrel
- Original relation, as defined in the schemanewrel
- New star relation, generated by RolapStar, canonical, and
shared between all cubes with similar structurepublic boolean equals(Object o)
equals
in class RolapHierarchy
protected int computeHashCode()
OlapElementBase
computeHashCode
in class RolapHierarchy
public Member createMember(Member parent, Level level, String name, Formula formula)
Hierarchy
formula
must not be null.createMember
in interface Hierarchy
createMember
in class RolapHierarchy
public MondrianDef.RelationOrJoin getRelation()
getRelation
in class RolapHierarchy
public final RolapCubeMember getDefaultMember()
Hierarchy
If a hierarchy is subject to access-control, the default member may
not be visible, so use SchemaReader.getHierarchyDefaultMember(mondrian.olap.Hierarchy)
.
getDefaultMember
in interface Hierarchy
getDefaultMember
in class RolapHierarchy
public Member getNullMember()
Hierarchy
Lead
,
NextMember
and ParentMember
walk off the end
of the hierarchy.getNullMember
in interface Hierarchy
getNullMember
in class RolapHierarchy
public RolapCubeMember getAllMember()
getAllMember
in interface Hierarchy
getAllMember
in class RolapHierarchy
public void setDefaultMember(Member defaultMeasure)
RolapHierarchy
setDefaultMember
in class RolapHierarchy
defaultMeasure
- Default memberpublic final RolapCube getCube()
Copyright © 2020 Hitachi Vantara. All rights reserved.