Class Type
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Typestatic final Type -
Constructor Summary
ConstructorsConstructorDescriptionType()Constructs a newTypewhich defaults toVOID.Type(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription) Constructs a newTypefrom the given type description.Constructs a newTypewith the given type class.Constructs a newTypefrom the givenjava.lang.Class.Constructs a newTypefrom the givenjava.lang.Class, handling ambiguous cases.Constructs a newTypewith the given type name.Constructs a newTypewith the given type class and type name. -
Method Summary
Modifier and TypeMethodDescriptionbooleanIndicates whether some other object is equal to this one.Gets the type class.com.sun.star.lib.uno.typedesc.TypeDescriptionGives the type description of this type.Gets the type name.Class<?>Gets the Java class.inthashCode()Returns a hash code value for the object.booleanisSupertypeOf(Type type) Determines whether this UNO type is a supertype of another UNO type.voidsetTypeDescription(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription) Sets the type description for this type.toString()Returns a string representation of the object.
-
Field Details
-
VOID
-
CHAR
-
BOOLEAN
-
BYTE
-
SHORT
-
UNSIGNED_SHORT
-
LONG
-
UNSIGNED_LONG
-
HYPER
-
UNSIGNED_HYPER
-
FLOAT
-
DOUBLE
-
STRING
-
TYPE
-
ANY
-
-
Constructor Details
-
Type
public Type()Constructs a newTypewhich defaults toVOID. -
Type
Constructs a newTypewith the given type class and type name.- Parameters:
typeName- the type name. Must not benull.typeClass- the type class. Must not benull, and must match thetypeName(for example, it is illegal to combine atypeNameof"void"with atypeClassofBOOLEAN).
-
Type
Constructs a newTypefrom the givenjava.lang.Class.This is equivalent to
Type(zClass, false).- Parameters:
zClass- the Java class of this type. Must not benull.
-
Type
Constructs a newTypefrom the givenjava.lang.Class, handling ambiguous cases.In certain cases, one Java class corresponds to two UNO types (e.g., the Java class
short[].classcorresponds to both a sequence ofSHORTand a sequence ofUNSIGNED SHORTin UNO). In such ambiguous cases, the parameteralternativecontrols which UNO type is chosen:- If the Java type is (an array type with element type)
shortorjava.lang.Short: Ifalternativeisfalse, the chosen UNO type is (a sequence type with element type)SHORT. Ifalternativeistrue, the chosen UNO type is (a sequence type with element type)UNSIGNED SHORT. - If the Java type is (an array type with element type)
intorjava.lang.Integer: Ifalternativeisfalse, the chosen UNO type is (a sequence type with element type)LONG. Ifalternativeistrue, the chosen UNO type is (a sequence type with element type)UNSIGNED LONG. - If the Java type is (an array type with element type)
longorjava.lang.Long: Ifalternativeisfalse, the chosen UNO type is (a sequence type with element type)HYPER. Ifalternativeistrue, the chosen UNO type is (a sequence type with element type)UNSIGNED HYPER. - If the Java type is (an array type with element type)
java.lang.Object: Ifalternativeisfalse, the chosen UNO type is (a sequence type with element type)ANY. Ifalternativeistrue, the chosen UNO type is (a sequence type with element type)com.sun.star.uno.XInterface.
In all other cases, the value of
alternativeis ignored.This constructor cannot be used to create
Typeinstances that represent (sequences of) instantiated polymorphic struct types.- Parameters:
zClass- the Java class of this type; must not benullalternative- controls which UNO type to choose in case of ambiguities- Since:
- UDK 3.2.0
- If the Java type is (an array type with element type)
-
Type
public Type(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription) Constructs a newTypefrom the given type description. For internal URE use only. Not to be used by client code.- Parameters:
typeDescription- a type description. Must not benull.
-
Type
Constructs a newTypewith the given type name.- Parameters:
typeName- the name of this type; must not benull.
-
Type
Constructs a newTypewith the given type class.- Parameters:
typeClass- the type class of this type; must not benull. Only type classes for simple types are allowed here.- Throws:
IllegalArgumentException- if the giventypeClassis not simple (for example, a struct or an interface type). This constructor could not find out the type name in such a case.
-
-
Method Details
-
getTypeClass
Gets the type class.- Returns:
- the type class. Will never be
null, but might beUNKNOWN.
-
getTypeName
Gets the type name.- Returns:
- the type name; will never be
null
-
getZClass
Gets the Java class.- Returns:
- the type name; may be
nullin extreme situations (inconsistentTypeClass, error loading a class)
-
getTypeDescription
public com.sun.star.lib.uno.typedesc.TypeDescription getTypeDescription()Gives the type description of this type. For internal URE use only. Not to be used by client code.- Returns:
- the type description; may be
null
-
setTypeDescription
public void setTypeDescription(com.sun.star.lib.uno.typedesc.TypeDescription typeDescription) Sets the type description for this type. For internal URE use only. Not to be used by client code.- Parameters:
typeDescription- the type description
-
isSupertypeOf
Determines whether this UNO type is a supertype of another UNO type. UNO only defines the following supertype relations: (1) A struct type t1 is a supertype of a struct type t2, if either t1 and t2 are the same, or t1 is a direct or indirect parent of t2. (2) An exception type t1 is a supertype of an exception type t2, if either t1 and t2 are the same, or t1 is a direct or indirect parent of t2. (3) An interface type t1 is a supertype of an interface type t2, if either t1 and t2 are the same, or t1 is a direct or indirect parent of t2. Following the conventions of the Java UNO language binding, com.sun.star.uno.Exception is not considered a supertype of com.sun.star.uno.RuntimeException or any exception type derived from com.sun.star.uno.RuntimeException.- Parameters:
type- some Type- Returns:
- true if this type is a supertype of the given type
- Since:
- UDK 3.2.0
-
equals
Indicates whether some other object is equal to this one. -
hashCode
public int hashCode()Returns a hash code value for the object. -
toString
Returns a string representation of the object.
-