LibreOffice LibreOffice 25.2 SDK API Reference

Public Member Functions | List of all members
EnumerableMap Service Reference

provides a default XEnumerableMap implementation More...

`import"EnumerableMap.idl";`

Inheritance diagram for EnumerableMap:

## Public Member Functions
| create ([in] type KeyType, [in] type ValueType) raises ( ::com::sun::star::beans::IllegalTypeException )
| creates an instance mapping from the given key type to the given value type More...
| createImmutable ([in] type KeyType, [in] type ValueType, [in] sequence< ::com::sun::star::beans::Pair< any, any > > Values) raises ( ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException )
| creates an instance mapping from the given key type to the given value type More...
Public Member Functions inherited from XEnumerableMap
XEnumeration | createKeyEnumeration ([in] boolean Isolated) raises ( ::com::sun::star::lang::NoSupportException )
| creates an enumerator for the keys of the map More...
XEnumeration | createValueEnumeration ([in] boolean Isolated) raises ( ::com::sun::star::lang::NoSupportException )
| creates an enumerator for the values of the map More...
XEnumeration | createElementEnumeration ([in] boolean Isolated) raises ( ::com::sun::star::lang::NoSupportException )
| creates an enumerator for the key-value pairs of the map More...
Public Member Functions inherited from XMap
void | clear () raises ( ::com::sun::star::lang::NoSupportException )
| clears the map, removing all key-value pairs from it. More...
boolean | containsKey ([in] any Key) raises ( ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException )
| determines whether a mapping for he given key exists in the map More...
boolean | containsValue ([in] any Value) raises ( ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException )
| determines whether the map contains a mapping to a given value. More...
any | get ([in] any Key) raises ( ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::NoSuchElementException )
| gets the value to which a given key maps. More...
any | put ([in] any Key, [in] any Value) raises ( ::com::sun::star::lang::NoSupportException, ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException )
| associates a given key with a given value More...
any | remove ([in] any Key) raises ( ::com::sun::star::lang::NoSupportException, ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::NoSuchElementException )
| removes a key-value mapping, given by key, from the map. More...
Public Member Functions inherited from XElementAccess
type | getElementType ()
boolean | hasElements ()
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...

## Additional Inherited Members
Exported Interfaces inherited from XMap
interface | XElementAccess
Public Attributes inherited from XMap
type | KeyType
| denotes the type of the keys in the map. More...
type | ValueType
| denotes the type of the values in the map. More...

## Detailed Description

provides a default XEnumerableMap implementation

For the keys put into the map using XMap::put() or createImmutable(), the following rules apply:

- A `VOID` key is not allowed.
- If the key type is `BOOLEAN`, `CHAR`, `FLOAT`, `DOUBLE`, `STRING`, `TYPE`, or `UNSIGNED HYPER`, then only keys of exactly this type are accepted.
- If the key type is `DOUBLE` or `FLOAT`, then `Double.NaN` respectively `Float.NaN` is not accepted as key.
- If the key type's class is com::sun::star::uno::TypeClass::ENUM, then only keys of exactly this type are accepted.
- If the key type is any of `BYTE`, `SHORT`, `UNSIGNED SHORT`, `LONG`, `UNSIGNED LONG`, or `HYPER`, then all keys which can losslessly be converted to this type (possibly using widening conversions) are accepted.
- If the key type is an interface type, then all key values denoting objects which can be queried for the given interface are accepted.
- All other key types are rejected.

For the values put into the map using XMap::put() or createImmutable(), the following rules apply:

- The `VOID` value will be accepted to be put into the map.

- If the value type's class is com::sun::star::uno::TypeClass::ANY, any value will be accepted.
- If the value type is an interface type, then all values denoting objects which can be queried for the given interface are accepted.
- If the value type's class is com::sun::star::uno::TypeClass::EXCEPTION or com::sun::star::uno::TypeClass::STRUCT, then values whose type equals the value type, or is a sub class of the value type, are accepted.
- For all other value types, only values whose type matches exactly are accepted.
- If the value type is `DOUBLE` or `FLOAT`, then `Double.NaN` respectively `Float.NaN` is not accepted.

The factory methods of the `XEnumerableMap` interface support both isolated and non-isolated enumerators. The latter one will be automatically disposed when the map changes after enumerator creation, so every attempt to use them will result in a com::sun::star::lang::DisposedException being thrown.

See also
  http://udk.openoffice.org/common/man/typesystem.html

## Member Function Documentation

## ◆ create()

create | ( | [in] type | KeyType,
|  | [in] type | ValueType
| ) |  |
raises | ( | ::com::sun::star::beans::IllegalTypeException
| ) |  |

creates an instance mapping from the given key type to the given value type

Parameters

  KeyType | denotes the type of the keys in the to-be-created map
  ValueType | denotes the type of the values in the to-be-created map

Exceptions

  com::sun::star::beans::IllegalTypeException | if KeyType or ValueType are unsupported types. For values, all type classes except com::sun::star::uno::TypeClass::VOID and com::sun::star::uno::TypeClass::UNKNOWN are accepted. For keys, scalar types, strings, com::sun::star::uno::Type itself, and interface types are accepted.

## ◆ createImmutable()

createImmutable | ( | [in] type | KeyType,
|  | [in] type | ValueType,
|  | [in] sequence< ::com::sun::star::beans::Pair< any, any > > | Values
| ) |  |
raises | ( | ::com::sun::star::beans::IllegalTypeException,
|  | ::com::sun::star::lang::IllegalArgumentException
| ) |  |

creates an instance mapping from the given key type to the given value type

The resulting map is immutable, so later alter operations on it will fail with a com::sun::star::lang::NoSupportException.

Parameters

  KeyType | denotes the type of the keys in the to-be-created map
  ValueType | denotes the type of the values in the to-be-created map
  Values | denote the values contained in the to-be-created map

Exceptions

  com::sun::star::beans::IllegalTypeException | if KeyType or ValueType are unsupported types. For values, all type classes except com::sun::star::uno::TypeClass::VOID are accepted. For keys, scalar types, strings, com::sun::star::uno::Type itself, and interface types are accepted.
  com::sun::star::lang::IllegalArgumentException | if any of the given values or keys violates the key rules or value rules.

The documentation for this service was generated from the following file:

- com/sun/star/container/EnumerableMap.idl