mondrian.rolap
Class HierarchyUsage
java.lang.Object
mondrian.rolap.HierarchyUsage
public class HierarchyUsage
- extends Object
A HierarchyUsage
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.
A HierarchyUsage
is identified by
(hierarchy.sharedHierarchy, factTable)
if the hierarchy is
shared, or (hierarchy, factTable)
if it is private.
- Since:
- 21 March, 2002
- Author:
- jhyde
-
-
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.
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
getLogger
protected org.apache.log4j.Logger getLogger()
getHierarchyName
public String getHierarchyName()
getFullName
public String getFullName()
getName
public String getName()
getForeignKey
public String getForeignKey()
getSource
public String getSource()
getLevelName
public String getLevelName()
getUsagePrefix
public 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(Object o)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object
toString
public String toString()
- Overrides:
toString
in class Object
init
void init(RolapCube cube,
RolapHierarchy hierarchy,
MondrianDef.DimensionUsage cubeDim)