|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.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 |
|---|
closureFor, 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,
java.lang.String subName,
int ordinal)
Creates a RolapCubeHierarchy. |
|
| Method Summary | |
|---|---|
protected int |
computeHashCode()
Computes this object's hash code. |
Member |
createMember(Member parent,
Level level,
java.lang.String name,
Formula formula)
Creates a member of this hierarchy. |
boolean |
equals(java.lang.Object o)
|
protected void |
extractNewAliases(MondrianDef.RelationOrJoin oldrel,
MondrianDef.RelationOrJoin newrel)
Populates the alias map for the old and new relations. |
java.lang.String |
getAllLevelName()
Returns the name of the 'all' level in this hierarchy. |
RolapCubeMember |
getAllMember()
Returns the 'all' member. |
java.lang.String |
getAllMemberName()
|
java.lang.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. |
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()
|
java.lang.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()
|
java.lang.String |
lookupAlias(java.lang.String origTable)
|
void |
setCaption(java.lang.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(java.lang.String tableName)
|
| Methods inherited from class mondrian.rolap.RolapHierarchy |
|---|
addToFrom, addToFrom, createClosedPeerDimension, createMemberReader, getAggregateChildrenExpression, getAlias, getLogger, getRolapSchema, getUniqueKeyLevelName, getUniqueTable, getXmlHierarchy, isRagged, newMeasuresLevel |
| Methods inherited from class mondrian.olap.HierarchyBase |
|---|
equals, getDescription, getHierarchy, getLevels, getName, getQualifiedName, getSubName, getUniqueName, hasAll, 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,
java.lang.String subName,
int ordinal)
dimension - DimensioncubeDim - XML dimension elementrolapHierarchy - Wrapped hierarchysubName - Name of hierarchy within dimensionordinal - Ordinal of hierarchy within cube| Method Detail |
|---|
public java.lang.String getAllMemberName()
getAllMemberName in class HierarchyBasepublic java.lang.String getSharedHierarchyName()
RolapHierarchyIf 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 RolapHierarchypublic java.lang.String getAllLevelName()
HierarchyBase
getAllLevelName in class HierarchyBasepublic boolean isUsingCubeFact()
public java.lang.String lookupAlias(java.lang.String origTable)
public RolapCubeDimension getDimension()
Hierarchy
getDimension in interface HierarchygetDimension in interface OlapElementgetDimension in class HierarchyBasepublic RolapHierarchy getRolapHierarchy()
public int getOrdinalInCube()
RolapHierarchyTemporarily 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(java.lang.Object o)
equals in class RolapHierarchyprotected int computeHashCode()
OlapElementBase
computeHashCode in class RolapHierarchy
public Member createMember(Member parent,
Level level,
java.lang.String name,
Formula formula)
Hierarchyformula must not be null.
createMember in interface HierarchycreateMember in class RolapHierarchyboolean tableExists(java.lang.String tableName)
tableExists in class RolapHierarchypublic MondrianDef.RelationOrJoin getRelation()
getRelation in class RolapHierarchypublic Member getDefaultMember()
HierarchyIf a hierarchy is subject to access-control, the default member may
not be visible, so use SchemaReader.getHierarchyDefaultMember(mondrian.olap.Hierarchy).
getDefaultMember in interface HierarchygetDefaultMember in class RolapHierarchypublic Member getNullMember()
HierarchyLead,
NextMember and ParentMember walk off the end
of the hierarchy.
getNullMember in interface HierarchygetNullMember in class RolapHierarchypublic RolapCubeMember getAllMember()
getAllMember in interface HierarchygetAllMember in class RolapHierarchypublic java.lang.String getCaption()
getCaption in interface OlapElementgetCaption in class OlapElementBasepublic void setCaption(java.lang.String caption)
setCaption in class OlapElementBasevoid setMemberReader(MemberReader memberReader)
setMemberReader in class RolapHierarchyMemberReader getMemberReader()
getMemberReader in class RolapHierarchypublic void setDefaultMember(Member defaultMeasure)
RolapHierarchy
setDefaultMember in class RolapHierarchydefaultMeasure - 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 | ||||||||