|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mondrian.olap.OlapElementBase mondrian.olap.HierarchyBase mondrian.rolap.RolapHierarchy mondrian.rolap.RolapCubeHierarchy
public class RolapCubeHierarchy
Hierarchy that is associated with a specific Cube.
Nested Class Summary | |
---|---|
class |
RolapCubeHierarchy.CacheRolapCubeHierarchyMemberReader
member reader wrapper - uses existing member reader, but wraps and caches all intermediate members |
class |
RolapCubeHierarchy.NoCacheRolapCubeHierarchyMemberReader
Same as 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 hirarchy. |
static class |
RolapCubeHierarchy.RolapCubeSqlMemberSource
|
Nested classes/interfaces inherited from class mondrian.rolap.RolapHierarchy |
---|
RolapHierarchy.LimitedRollupMember, RolapHierarchy.RolapCalculatedMeasure, RolapHierarchy.RolapNullMember |
Field Summary | |
---|---|
protected boolean |
usingCubeFact
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 |
---|
memberType, 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 |
Constructor Summary | |
---|---|
RolapCubeHierarchy(RolapCubeDimension dimension,
MondrianDef.CubeDimension cubeDim,
RolapHierarchy rolapHierarchy,
String subName)
|
Method Summary | |
---|---|
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()
|
String |
getCaption()
Returns the display name of this catalog element. |
Member |
getDefaultMember()
Returns the default member of this hierarchy. |
RolapCubeDimension |
getDimension()
Returns the dimension this hierarchy belongs to. |
(package private) MemberReader |
getMemberReader()
|
Member |
getNullMember()
Returns a special member representing the "null" value. |
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. |
(package private) void |
init(MondrianDef.CubeDimension xmlDimension)
Initializes a hierarchy within the context of a cube. |
boolean |
isUsingCubeFact()
|
String |
lookupAlias(String origTable)
|
void |
setCaption(String caption)
Sets the display name of this catalog element. |
void |
setDefaultMember(Member defaultMeasure)
Sets default member of this Hierarchy. |
(package private) void |
setMemberReader(MemberReader memberReader)
|
(package private) boolean |
tableExists(String tableName)
|
Methods inherited from class mondrian.rolap.RolapHierarchy |
---|
addToFrom, addToFrom, createClosedPeerDimension, createMemberReader, getAggregateChildrenExpression, getAlias, getLogger, getRolapSchema, getUniqueTable, getXmlHierarchy, isRagged, newMeasuresLevel |
Methods inherited from class mondrian.olap.HierarchyBase |
---|
equals, getDescription, getHierarchy, getLevels, getName, getQualifiedName, getSubName, getUniqueName, hasAll, lookupChild, lookupChild |
Methods inherited from class mondrian.olap.OlapElementBase |
---|
clone, hashCode, toString |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final boolean usingCubeFact
Constructor Detail |
---|
public RolapCubeHierarchy(RolapCubeDimension dimension, MondrianDef.CubeDimension cubeDim, RolapHierarchy rolapHierarchy, String subName)
Method Detail |
---|
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 String lookupAlias(String origTable)
public RolapCubeDimension getDimension()
Hierarchy
getDimension
in interface Hierarchy
getDimension
in interface OlapElement
getDimension
in class HierarchyBase
public RolapHierarchy getRolapHierarchy()
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
boolean tableExists(String tableName)
tableExists
in class RolapHierarchy
public MondrianDef.RelationOrJoin getRelation()
getRelation
in class RolapHierarchy
public Member 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 String getCaption()
getCaption
in interface OlapElement
getCaption
in class OlapElementBase
public void setCaption(String caption)
setCaption
in class OlapElementBase
void setMemberReader(MemberReader memberReader)
setMemberReader
in class RolapHierarchy
MemberReader getMemberReader()
getMemberReader
in class RolapHierarchy
public void setDefaultMember(Member defaultMeasure)
RolapHierarchy
setDefaultMember
in class RolapHierarchy
defaultMeasure
- Default membervoid init(MondrianDef.CubeDimension xmlDimension)
RolapHierarchy
init
in class RolapHierarchy
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |