Language:

The Free and Open Productivity Suite
Apache OpenOffice 4.1.4 released

Developer's Guide

API

SDK

Tips 'n' Tricks

Miscellaneous


:: com :: sun :: star :: container ::

unpublished service EnumerableMap
Supported Interface
XEnumerableMap
Usage Restrictions
not published
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


Constructors' Summary
create creates an instance mapping from the given key type to the given value type  
createImmutable creates an instance mapping from the given key type to the given value type  
Constructors' Details
create
create( [in] type  KeyType,
[in] type  ValueType )
raises( ::com::sun::star::beans::IllegalTypeException );

Description
creates an instance mapping from the given key type to the given value type
Parameter KeyType
denotes the type of the keys in the to-be-created map
Parameter ValueType
denotes the type of the values in the to-be-created map
Throws
::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< string, string > >  Values )
raises( ::com::sun::star::beans::IllegalTypeException,
::com::sun::star::lang::IllegalArgumentException );

Description
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.

Parameter KeyType
denotes the type of the keys in the to-be-created map
Parameter ValueType
denotes the type of the values in the to-be-created map
Parameter Values
denote the values contained in the to-be-created map
Throws
::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.
Throws
::com::sun::star::lang::IllegalArgumentException if any of the given values or keys violates the key rules or value rules.

 
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache and the Apache feather logo are trademarks of The Apache Software Foundation. OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.