com.sun.star.uno
public class Type extends Object
TYPE.
The UNO type is not directly mapped to java.lang.Class for at
least two reasons. For one, some UNO types (like UNSIGNED
SHORT) do not have a matching Java class. For another, it can be
necessary to describe a type which is unknown to the Java runtime system
(for example, for delaying the need of a class, so that it is possible to
generate it on the fly.)
A Type is uniquely determined by its type class (a
TypeClass) and its type name (a String); these two
will never be null. A Type may have an additional
"z class" (a java.lang.Class), giving a Java class type that
corresponds to the UNO type. Also, a Type can cache a type
description (a com.sun.star.uno.ITypeDescription), which can be
computed and set by TypeDescription.getTypeDescription.
| Field Summary | |
|---|---|
| static Type | ANY |
| static Type | BOOLEAN |
| static Type | BYTE |
| static Type | CHAR |
| static Type | DOUBLE |
| static Type | FLOAT |
| static Type | HYPER |
| static Type | LONG |
| static Type | SHORT |
| static Type | STRING |
| static Type | TYPE |
| static Type | UNSIGNED_HYPER |
| static Type | UNSIGNED_LONG |
| static Type | UNSIGNED_SHORT |
| static Type | VOID |
| protected Class | _class |
| protected ITypeDescription | _iTypeDescription |
| protected TypeClass | _typeClass |
| protected String | _typeName |
| Constructor Summary | |
|---|---|
| Type()
Constructs a new Type which defaults to VOID. | |
| Type(String typeName, TypeClass typeClass)
Constructs a new Type with the given type class and type
name.
| |
| Type(Class zClass)
Constructs a new Type from the given
java.lang.Class.
| |
| Type(Class zClass, boolean alternative)
Constructs a new Type from the given
java.lang.Class, handling ambiguous cases.
| |
| Type(ITypeDescription typeDescription)
Constructs a new Type from the given type description.
| |
| Type(String typeName)
Constructs a new Type with the given type name.
| |
| Type(TypeClass typeClass)
Constructs a new Type with the given type class.
| |
| Method Summary | |
|---|---|
| boolean | equals(Object obj) |
| TypeClass | getTypeClass()
Gets the type class.
|
| ITypeDescription | getTypeDescription()
Gives the type description of this type.
|
| String | getTypeName()
Gets the type name.
|
| Class | getZClass()
Gets the Java class.
|
| int | hashCode() |
| boolean | isSupertypeOf(Type type)
Determines whether this UNO type is a supertype of another UNO type.
|
| void | setTypeDescription(ITypeDescription typeDescription)
Sets the type description for this type.
|
| String | toString() |
Type which defaults to VOID.Type with the given type class and type
name.
Parameters: typeName the type name. Must not be null. typeClass the type class. Must not be null, and must
match the typeName (for example, it is illegal to
combine a typeName of "void" with a
typeClass of BOOLEAN).
Type from the given
java.lang.Class.
This is equivalent to Type(zClass, false).
Parameters: zClass the Java class of this type. Must not be
null.
Type from the given
java.lang.Class, handling ambiguous cases.
In certain cases, one Java class corresponds to two UNO types (e.g.,
the Java class short[].class corresponds to both a sequence
of UNSIGNED SHORT in
UNO). In such ambiguous cases, the parameter alternative
controls which UNO type is chosen:
short or java.lang.Short: If
alternative is false, the chosen UNO type is
(a sequence type with element type) SHORT. If
alternative is true, the chosen UNO type is
(a sequence type with element type) UNSIGNED SHORT.int or java.lang.Integer: If
alternative is false, the chosen UNO type is
(a sequence type with element type) LONG. If
alternative is true, the chosen UNO type is
(a sequence type with element type) UNSIGNED LONG.long or java.lang.Long: If
alternative is false, the chosen UNO type is
(a sequence type with element type) HYPER. If
alternative is true, the chosen UNO type is
(a sequence type with element type) UNSIGNED HYPER.java.lang.Object: If alternative is
false, the chosen UNO type is (a sequence type with
element type) ANY. If alternative is
true, the chosen UNO type is (a sequence type with element
type) com.sun.star.uno.XInterface.In all other cases, the value of alternative is
ignored.
This constructor cannot be used to create Type instances
that represent (sequences of) instantiated polymorphic struct types.
Parameters: zClass the Java class of this type; must not be null alternative controls which UNO type to choose in case of
ambiguities
Since: UDK 3.2.0
Type from the given type description.
Parameters: typeDescription a type description. Must not be
null.
Type with the given type name.
Parameters: typeName the name of this type; must not be null.
Type with the given type class.
Parameters: typeClass the type class of this type; must not be
null. Only type classes for simple types are allowed
here.
Throws: IllegalArgumentException if the given typeClass is
not simple (for example, a struct or an interface type). This
constructor could not find out the type name in such a case.
Returns: the type class. Will never be null, but might be
UNKNOWN.
Returns: the type description; may be null
Returns: the type name; will never be null
Returns: the type name; may be null in extreme situations
(inconsistent TypeClass, error loading a class)
Parameters: type some Type
Returns: true if this type is a supertype of the given type
Since: UDK 3.2.0
Parameters: typeDescription the type description