An enumeration is always created for an UNOIDL module. The
enumeration contents can be restricted by specifying type classes.
Only types that match one of the supplied type classes will be part of
the collection. Additionally, it is possible to specify the depth
for the search within the underlying type description tree.
Parameter moduleName
contains the name of an UNOIDL module. Modules are seperated by a
single '.' (i.e., "com.sun.star.reflection"). The root of the module
hierarchy is specified with an empty string. Module names are always
absolute, never relative.
Parameter types
restricts the contents of the enumeration. It will only contain
type descriptions that match one of the supplied type classes. An
empty sequence specifies that the enumeration shall contain all
type descriptions.
specifies the depth of search in the underlying tree of type
descriptions. Clients should be aware of the fact that specifiying
TypeDescriptionSearchDepth::INFINITE can lead to
larger delays when constructing or using the
XTypeDescriptionEnumeration instance.
Returns
an enumeration of type descriptions.
The enumeration returns implementations of
XTypeDescription. Following concrete UNOIDL parts
represented by specialized interfaces derived from
XTypeDescription can be returned by the enumerator:
NoSuchTypeNameException
in case that the given module name does not exist. This exception
will never be thrown in case moduleName is the empty string.
Throws
InvalidTypeNameException
in case that the given module name does exist, but does not specify
an UNOIDL module. This exception will never be thrown in case
moduleName is the empty string.