/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ package com.sun.star.uno; /** * The ITypeDescription allows to examine a type * in detail (e.g. it is used for marshaling/unmarshaling). * * @deprecated This interface does not cover all the features supported by the * corresponding (unpublished) implementation. But no client code should need * to access this functionality, anyway. */ public interface ITypeDescription { /** * Gets the ITypeDescription of the * super, if it exists. *

* @return the ITypeDescription. */ ITypeDescription getSuperType(); /** * Gets the IMethodDescription for every * method, if this type is an interface. Otherwise * returns null. *

* @return the IMethodDescription[]. */ IMethodDescription []getMethodDescriptions(); /** * Gets the IMethodDescription for the * method with index methodId, if it exists, otherwise * returns null. *

* @return the IMethodDescription. */ IMethodDescription getMethodDescription(int methodId); /** * Gets the IMethodDescription for the * method with the name name, if it exists, * otherwise returns null. *

* @return the IMethodDescription. */ IMethodDescription getMethodDescription(String name); /** * Gets the IFieldDescription for every * field, if this type is an interface. Otherwise * returns null. *

* @return the IFieldDescription[]. */ IFieldDescription []getFieldDescriptions(); /** * Gets the IFieldDescription for the * field with the name name, if it exists, * otherwise returns null. *

* @return the IFieldDescription. */ IFieldDescription getFieldDescription(String name); /** * Gets the IDL TypeClass of the type. *

* @return the TypeClass. */ TypeClass getTypeClass(); /** * Gets the component ITypeDescription if * this is an array type, otherwise returns null. *

* @return the ITypeDescription */ ITypeDescription getComponentType(); /** * Gets the (UNO) type name. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The following table lists how UNO types map to type names:
UNO typetype name
VOID"void"
BOOLEAN"boolean"
CHAR"char"
BYTE"byte"
SHORT"short"
UNSIGNED SHORT"unsigned short"
LONG"long"
UNSIGNED LONG"unsigned long"
HYPER"hyper"
UNSIGNED HYPER"unsigned hyper"
FLOAT"float"
DOUBLE"double"
STRING"string"
TYPE"type"
ANY"any"
sequence type of base type T"[]" followed by type name for T
enum type named NN (see below)
struct type named NN (see below)
exception type named N * N (see below)
interface type named NN (see below)
*

For a UNO type named N, consisting of a sequence of module * names M1, ..., Mn followed by * a simple name S, the corresponding type name consists of the * same sequence of module names and simple name, with "." * seperating the individual elements.

* * @return the type name. */ String getTypeName(); /** * Gets the (Java) array type name. * *

The array type name is defined to be the Java class name (as returned * by Class.forName) of the Java array class that corresponds * to the UNO sequence type with this type (the UNO type represented by this * ITypeDescription instance) as base type. For an * ITypeDescription instance representing the UNO type VOID, * the array type name is defined to be * "[Ljava.lang.Void;".

* * @return the array type name. */ String getArrayTypeName(); /** * Gets the corresponding java class for the type. *

* @return the corresponding java class. */ Class getZClass(); }