Package mondrian.rolap
Class HierarchyUsage
- java.lang.Object
-
- mondrian.rolap.HierarchyUsage
-
public class HierarchyUsage extends java.lang.Object
AHierarchyUsage
is the usage of a hierarchy in the context of a cube. Private hierarchies can only be used in their own cube. Public hierarchies can be used in several cubes. The problem comes when several cubes which the same public hierarchy are brought together in one virtual cube. There are now several usages of the same public hierarchy. Which one to use? It depends upon what measure we are currently using. We should use the hierarchy usage for the fact table which underlies the measure. That is what determines the foreign key to join on. AHierarchyUsage
is identified by(hierarchy.sharedHierarchy, factTable)
if the hierarchy is shared, or(hierarchy, factTable)
if it is private.- Since:
- 21 March, 2002
- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
HierarchyUsage.Kind
-
Field Summary
Fields Modifier and Type Field Description protected MondrianDef.Relation
fact
Fact table (or relation) which this usage is joining to.
-
Constructor Summary
Constructors Constructor Description HierarchyUsage(RolapCube cube, RolapHierarchy hierarchy, MondrianDef.CubeDimension cubeDim)
Creates a HierarchyUsage.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.lang.String
getForeignKey()
java.lang.String
getFullName()
java.lang.String
getHierarchyName()
MondrianDef.Expression
getJoinExp()
MondrianDef.Relation
getJoinTable()
HierarchyUsage.Kind
getKind()
java.lang.String
getLevelName()
protected org.apache.log4j.Logger
getLogger()
java.lang.String
getName()
java.lang.String
getSource()
java.lang.String
getUsagePrefix()
int
hashCode()
(package private) void
init(RolapCube cube, RolapHierarchy hierarchy, MondrianDef.DimensionUsage cubeDim)
boolean
isPrivate()
boolean
isShared()
boolean
isVirtual()
java.lang.String
toString()
-
-
-
Field Detail
-
fact
protected final MondrianDef.Relation fact
Fact table (or relation) which this usage is joining to. This identifies the usage, and determines which join conditions need to be used.
-
-
Constructor Detail
-
HierarchyUsage
HierarchyUsage(RolapCube cube, RolapHierarchy hierarchy, MondrianDef.CubeDimension cubeDim)
Creates a HierarchyUsage.- Parameters:
cube
- Cubehierarchy
- HierarchycubeDim
- XML definition of a dimension which belongs to a cube
-
-
Method Detail
-
getLogger
protected org.apache.log4j.Logger getLogger()
-
getHierarchyName
public java.lang.String getHierarchyName()
-
getFullName
public java.lang.String getFullName()
-
getName
public java.lang.String getName()
-
getForeignKey
public java.lang.String getForeignKey()
-
getSource
public java.lang.String getSource()
-
getLevelName
public java.lang.String getLevelName()
-
getUsagePrefix
public java.lang.String getUsagePrefix()
-
getJoinTable
public MondrianDef.Relation getJoinTable()
-
getJoinExp
public MondrianDef.Expression getJoinExp()
-
getKind
public HierarchyUsage.Kind getKind()
-
isShared
public boolean isShared()
-
isVirtual
public boolean isVirtual()
-
isPrivate
public boolean isPrivate()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
init
void init(RolapCube cube, RolapHierarchy hierarchy, MondrianDef.DimensionUsage cubeDim)
-
-