Class HierarchyType

  • All Implemented Interfaces:
    Type

    public class HierarchyType
    extends java.lang.Object
    implements Type
    The type of an expression which represents a hierarchy.
    Since:
    Feb 17, 2005
    Author:
    jhyde
    • Constructor Detail

      • HierarchyType

        public HierarchyType​(Dimension dimension,
                             Hierarchy hierarchy)
        Creates a type representing a hierarchy.
        Parameters:
        dimension - Dimension which values of this type must belong to, or null if not known
        hierarchy - Hierarchy which values of this type must belong to, or null if not known
    • Method Detail

      • usesDimension

        public boolean usesDimension​(Dimension dimension,
                                     boolean maybe)
        Description copied from interface: Type
        Returns whether this type contains a given dimension.

        For example:

        • DimensionType([Gender]) uses only the [Gender] dimension.
        • TupleType(MemberType([Gender]), MemberType([Store])) uses [Gender] and [Store] dimensions.

        The maybe parameter comes into play when the dimensional information is incomplete. For example, when applied to TupleType(MemberType(null), MemberType([Store])), usesDimension([Gender], false) returns true because it is possible that the expression returns a member of the [Gender] dimension.

        Specified by:
        usesDimension in interface Type
        Parameters:
        dimension - Dimension
        maybe - If true, returns true only if this type definitely uses the dimension
        Returns:
        whether this type definitely (or if maybe is true, possibly) uses the given dimension
      • getDimension

        public Dimension getDimension()
        Description copied from interface: Type
        Returns the dimension of this type, or null if not known.
        Specified by:
        getDimension in interface Type
        Returns:
        dimension of this type
      • getHierarchy

        public Hierarchy getHierarchy()
        Description copied from interface: Type
        Returns the hierarchy of this type. If not applicable, throws.
        Specified by:
        getHierarchy in interface Type
        Returns:
        hierarchy of this type
      • getLevel

        public Level getLevel()
        Description copied from interface: Type
        Returns the level of this type, or null if not known.
        Specified by:
        getLevel in interface Type
        Returns:
        level of this type
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object