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.typedesc.TypeDescription), which can be
computed and set by TypeDescription.getTypeDescription.
| Modifier and Type | Field and Description |
|---|---|
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 |
| Constructor and Description |
|---|
Type()
Constructs a new
Type which defaults to VOID. |
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(String typeName)
Constructs a new
Type with the given type name. |
Type(String typeName,
TypeClass typeClass)
Constructs a new
Type with the given type class and type
name. |
Type(TypeClass typeClass)
Constructs a new
Type with the given type class. |
Type(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription)
Constructs a new
Type from the given type description. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj)
Indicates whether some other object is equal to this one.
|
TypeClass |
getTypeClass()
Gets the type class.
|
com.sun.star.lib.uno.typedesc.TypeDescription |
getTypeDescription()
Gives the type description of this type.
|
String |
getTypeName()
Gets the type name.
|
Class<?> |
getZClass()
Gets the Java class.
|
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
isSupertypeOf(Type type)
Determines whether this UNO type is a supertype of another UNO type.
|
void |
setTypeDescription(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription)
Sets the type description for this type.
|
String |
toString()
Returns a string representation of the object.
|
public static final Type VOID
public static final Type CHAR
public static final Type BOOLEAN
public static final Type BYTE
public static final Type SHORT
public static final Type UNSIGNED_SHORT
public static final Type LONG
public static final Type UNSIGNED_LONG
public static final Type HYPER
public static final Type UNSIGNED_HYPER
public static final Type FLOAT
public static final Type DOUBLE
public static final Type STRING
public static final Type TYPE
public static final Type ANY
public Type()
Type which defaults to VOID.public Type(String typeName, TypeClass typeClass)
Type with the given type class and type
name.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).public Type(Class<?> zClass)
Type from the given
java.lang.Class.
This is equivalent to Type(zClass, false).
zClass - the Java class of this type. Must not be
null.public Type(Class<?> zClass, boolean alternative)
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 SHORT and 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.
zClass - the Java class of this type; must not be nullalternative - controls which UNO type to choose in case of
ambiguitiespublic Type(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription)
Type from the given type description.
For internal URE use only. Not to be used by client code.typeDescription - a type description. Must not be
null.public Type(String typeName)
Type with the given type name.typeName - the name of this type; must not be null.public Type(TypeClass typeClass)
Type with the given type class.typeClass - the type class of this type; must not be
null. Only type classes for simple types are allowed
here.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.public TypeClass getTypeClass()
null, but might be
UNKNOWN.public String getTypeName()
nullpublic Class<?> getZClass()
null in extreme situations
(inconsistent TypeClass, error loading a class)public com.sun.star.lib.uno.typedesc.TypeDescription getTypeDescription()
nullpublic void setTypeDescription(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription)
typeDescription - the type descriptionpublic boolean isSupertypeOf(Type type)
type - some Typepublic boolean equals(Object obj)
equals in class Objectobj - the reference object with which to compare.true if this object is the same as the obj argument;
false otherwise.Object.equals(java.lang.Object)public int hashCode()
hashCode in class ObjectObject.hashCode()public String toString()
toString in class ObjectObject.toString()