LibreOffice
LibreOffice 24.8 SDK API Reference
 
Loading...
Searching...
No Matches
EnumerableMap Service Reference

provides a default XEnumerableMap implementation More...

import "EnumerableMap.idl";

Inheritance diagram for EnumerableMap:
XEnumerableMap XMap XElementAccess XInterface

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
 
 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
 
- 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
 
XEnumeration createValueEnumeration ([in] boolean Isolated) raises ( ::com::sun::star::lang::NoSupportException )
 creates an enumerator for the values of the map
 
XEnumeration createElementEnumeration ([in] boolean Isolated) raises ( ::com::sun::star::lang::NoSupportException )
 creates an enumerator for the key-value pairs of the map
 
- Public Member Functions inherited from XMap
void clear () raises ( ::com::sun::star::lang::NoSupportException )
 clears the map, removing all key-value pairs from it.
 
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
 
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.
 
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.
 
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
 
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.
 
- 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.
 
void acquire ()
 increases the reference counter by one.
 
void release ()
 decreases the reference counter by one.
 

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.
 
type ValueType
 denotes the type of the values in the map.
 

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
KeyTypedenotes the type of the keys in the to-be-created map
ValueTypedenotes the type of the values in the to-be-created map
Exceptions
com::sun::star::beans::IllegalTypeExceptionif 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
KeyTypedenotes the type of the keys in the to-be-created map
ValueTypedenotes the type of the values in the to-be-created map
Valuesdenote the values contained in the to-be-created map
Exceptions
com::sun::star::beans::IllegalTypeExceptionif 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::IllegalArgumentExceptionif 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: