mondrian.rolap
Class HierarchyUsage
java.lang.Object
mondrian.rolap.HierarchyUsage
public class HierarchyUsage
- extends java.lang.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
- Version:
- $Id: //open/mondrian/src/main/mondrian/rolap/HierarchyUsage.java#32 $
- Author:
- jhyde
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
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 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 class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
init
void init(RolapCube cube,
RolapHierarchy hierarchy,
MondrianDef.DimensionUsage cubeDim)