UDK 3.1.0 Java API Reference

com.sun.star.uno
Class Type

java.lang.Object
  |
  +--com.sun.star.uno.Type

public class Type
extends Object

Represents the UNO built-in 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.ITypeDescription), which can be computed and set by TypeDescription.getTypeDescription.

Since:
UDK1.0

Field Summary
protected  Class _class
           
protected  ITypeDescription _iTypeDescription
           
protected  TypeClass _typeClass
           
protected  String _typeName
           
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 Summary
Type()
          Constructs a new Type which defaults to VOID.
Type(Class zClass)
          Constructs a new Type from the given java.lang.Class.
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(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.
 
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()
           
 void setTypeDescription(ITypeDescription typeDescription)
          Sets the type description for this type.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

VOID

public static final Type VOID

CHAR

public static final Type CHAR

BOOLEAN

public static final Type BOOLEAN

BYTE

public static final Type BYTE

SHORT

public static final Type SHORT

UNSIGNED_SHORT

public static final Type UNSIGNED_SHORT

LONG

public static final Type LONG

UNSIGNED_LONG

public static final Type UNSIGNED_LONG

HYPER

public static final Type HYPER

UNSIGNED_HYPER

public static final Type UNSIGNED_HYPER

FLOAT

public static final Type FLOAT

DOUBLE

public static final Type DOUBLE

STRING

public static final Type STRING

TYPE

public static final Type TYPE

ANY

public static final Type ANY

_typeClass

protected TypeClass _typeClass

_typeName

protected String _typeName

_class

protected Class _class

_iTypeDescription

protected ITypeDescription _iTypeDescription
Constructor Detail

Type

public Type()
Constructs a new Type which defaults to VOID.

Since:
UDK3.0

Type

public Type(String typeName,
            TypeClass typeClass)
Constructs a new 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

public Type(Class zClass)
Constructs a new Type from the given java.lang.Class.

Parameters:
zClass - the Java class of this type. Must not be null.
Since:
UDK3.0

Type

public Type(ITypeDescription typeDescription)
Constructs a new Type from the given type description.

Parameters:
typeDescription - a type description. Must not be null.
Since:
UDK3.0

Type

public Type(String typeName)
Constructs a new Type with the given type name.

TODO: This constructor is dangerous, as it can create a Type with an UNKNOWN type class. It would be better if this constructor threw a IllegalArgumentException instead.

Parameters:
typeName - the name of this type; must not be null. For simple types (VOID, BOOLEAN, CHAR, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, STRING, TYPE, ANY), the type class is calculated; for other types, the type class is set to UNKNOWN.
Since:
UDK3.0

Type

public Type(TypeClass typeClass)
Constructs a new 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.
Since:
UDK3.0
Method Detail

getTypeClass

public TypeClass getTypeClass()
Gets the type class.

Returns:
the type class. Will never be null, but might be UNKNOWN.
Since:
UDK1.0

getTypeName

public String getTypeName()
Gets the type name.

Returns:
the type name; will never be null
Since:
UDK1.0

getZClass

public Class getZClass()
Gets the Java class.

The implementation of com.sun.star.lib.uno.typedesc.TypeDescription (for example, getTypeDescription(Type)) seems to require that the mapping from UNO types to Java classes is an injection. Therefore, for example, the UNO type SHORT maps to the Java class short.class, but the UNO type UNSIGNED SHORT maps to null.

Returns:
the type name; may be null in extreme situations (inconsistent TypeClass, error loading a class), or when there is no distinct Java class to represent a UNO type (so that the mapping from UNO types to Java classes is an injection)
Since:
UDK1.0

getTypeDescription

public ITypeDescription getTypeDescription()
Gives the type description of this type.

Returns:
the type description; may be null
Since:
UDK3.0

setTypeDescription

public void setTypeDescription(ITypeDescription typeDescription)
Sets the type description for this type.

Parameters:
typeDescription - the type description
Since:
UDK3.0

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

UDK 3.1.0 Java API Reference