|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.olap.type.ScalarType
public class ScalarType
Base class for types which represent scalar values.
An instance of this class means a scalar value of unknown type.
Usually one of the derived classes NumericType,
StringType, BooleanType is used instead.
| Constructor Summary | |
|---|---|
|
ScalarType()
Creates a ScalarType. |
protected |
ScalarType(String digest)
Creates a ScalarType (or subtype) with a given digest. |
| 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)
|
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 |
| Constructor Detail |
|---|
public ScalarType()
protected ScalarType(String digest)
The digest is used for toString() and hashCode().
digest - Description of this type| Method Detail |
|---|
public int hashCode()
hashCode in class Objectpublic boolean equals(Object obj)
equals in class Objectpublic String toString()
toString in class Object
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 Type
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 Dimension getDimension()
Type
getDimension in interface Typepublic 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 | ||||||||