|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.olap.type.DimensionType
public class DimensionType
The type of an expression which represents a Dimension.
| Field Summary | |
|---|---|
static DimensionType |
Unknown
|
| Constructor Summary | |
|---|---|
DimensionType(Dimension dimension)
Creates a type representing a dimension. |
|
| Method Summary | |
|---|---|
Type |
computeCommonType(Type type,
int[] conversionCount)
Returns a Type which is more general than this and the given Type. |
boolean |
equals(Object obj)
|
static DimensionType |
forDimension(Dimension dimension)
|
static DimensionType |
forType(Type type)
|
int |
getArity()
Returns the number of fields in a tuple type, or a set of tuples. |
Dimension |
getDimension()
Returns the Dimension of this Type, or null if not known. |
Hierarchy |
getHierarchy()
Returns the Hierarchy of this Type, or null if not known. |
Level |
getLevel()
Returns the Level of this Type, or null if not known. |
int |
hashCode()
|
boolean |
isInstance(Object value)
Returns whether a value is valid for a type. |
String |
toString()
|
boolean |
usesDimension(Dimension dimension,
boolean definitely)
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 definitely parameter comes into play when the
dimensional information is incomplete. |
boolean |
usesHierarchy(Hierarchy hierarchy,
boolean definitely)
Returns whether this type contains a given hierarchy. For example: HierarchyType([Customer].[Gender]) uses only the
[Customer].[Gender] hierarchy.
TupleType(MemberType([Customer].[Gender]),
MemberType([Store].[Store]))
uses [Gender] and [Store]
dimensions.
The definitely parameter comes into play when the
dimensional information is incomplete. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final DimensionType Unknown
| Constructor Detail |
|---|
public DimensionType(Dimension dimension)
dimension - Dimension that values of this type must belong to, or
null if the dimension is unknown| Method Detail |
|---|
public static DimensionType forDimension(Dimension dimension)
public static DimensionType forType(Type type)
public boolean usesDimension(Dimension dimension,
boolean definitely)
TypeDimensionType([Gender]) uses only the
[Gender] dimension.TupleType(MemberType([Gender]), MemberType([Store]))
uses [Gender] and [Store]
dimensions.definitely 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; but
usesDimension([Gender], true) returns true because it
is possible that the expression returns a member of the
[Gender] dimension.
usesDimension in interface Typedimension - Dimensiondefinitely - If true, returns true only if this type definitely
uses the dimension
public boolean usesHierarchy(Hierarchy hierarchy,
boolean definitely)
TypeHierarchyType([Customer].[Gender]) uses only the
[Customer].[Gender] hierarchy.TupleType(MemberType([Customer].[Gender]),
MemberType([Store].[Store]))
uses [Gender] and [Store]
dimensions.definitely parameter comes into play when the
dimensional information is incomplete. For example, when applied to
TupleType(MemberType([Customer]), MemberType([Store])),
usesDimension([Customer].[Gender], false) returns true
because the expression returns a member of one hierarchy of the
[Customer] dimension and that might be a member of the
[Customer].[Gender] hierarchy; but
usesDimension([Customer].[Gender], true) returns false
because might return a member of a different hierarchy, such as
[Customer].[State].
usesHierarchy in interface Typehierarchy - Hierarchydefinitely - If true, returns true only if this type definitely
uses the hierarchy
public Hierarchy getHierarchy()
Type
getHierarchy in interface Typepublic Level getLevel()
Type
getLevel in interface Typepublic Dimension getDimension()
Type
getDimension in interface Typepublic int hashCode()
hashCode in class Objectpublic boolean equals(Object obj)
equals in class Objectpublic String toString()
toString in class Object
public Type computeCommonType(Type type,
int[] conversionCount)
TypeSome examples:
If conversionCount is not null, implicit conversions
such as HierarchyType to DimensionType are considered; the parameter
is incremented by the number of conversions performed.
Some examples:
One use of common types is to determine the types of the arguments
to the Iif function. For example, the call
Iif(1 > 2, [Measures].[Unit Sales],
5)
has type ScalarType, because DecimalType(-1, 0) is a subtype of
ScalarType, and MeasureType can be converted implicitly to ScalarType.
computeCommonType in interface Typetype - TypeconversionCount - Number of conversions; output parameter that is
incremented each time a conversion is performed; if null, conversions
are not considered
public boolean isInstance(Object value)
Type
isInstance in interface Typevalue - Value
public int getArity()
Type
getArity in interface Type
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||