<html> <head> <title>Service EnumerableMap</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimainnone">Use</td> <td class="navimainnone">Devguide</td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#ConstructorsSummary" class="navisub">Constructors' Summary</a></td> <td class="navisub"><a href="#ConstructorsDetails" class="navisub">Constructors' Details</a></td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">container</a> :: </p> </td> </tr> <tr> <td class="title"><table class="title-table" width="99%"> <tr> <td width="25%" class="title2">unpublished </td> <td width="50%" class="title">service EnumerableMap</td> <td width="*"/></tr> </table> </td> </tr> <tr> <td><dl> <dt><b>Supported Interface</b></dt> <dd><a href="XEnumerableMap.html">XEnumerableMap</a></dd> </dl> </td> </tr> <tr> <td><dl> <dt><b>Usage Restrictions</b></dt> <dd><i>not published</i></dd> <dt><b>Description</b></dt> <dd>provides a default <a href="XEnumerableMap.html">XEnumerableMap</a> implementation </dd> <dd><p>For the keys put into the map using <a href="XMap.html">XMap</a>::<a href="XMap.html#put">put</a> or <a href="EnumerableMap.html#createImmutable">createImmutable</a>, the following rules apply: <a name="keyrules"></a> <ul><li>A <b>void</b> key is not allowed.</li> <li>If the key type is <code>BOOLEAN</code>, <code>CHAR</code>, <code>FLOAT</code>, <code>DOUBLE</code>, <code>STRING</code>, <code>TYPE</code>, or <code>UNSIGNED HYPER</code>, then only keys of exactly this type are accepted.</li> <li>If the key type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively <code>Float.NaN</code> is not accepted as key.</li> <li>If the key type's class is ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#ENUM">ENUM</a>, then only keys of exactly this type are accepted.</li> <li>If the key type is any of <code>BYTE</code>, <code>SHORT</code>, <code>UNSIGNED SHORT</code>, <code>LONG</code>, <code>UNSIGNED LONG</code>, or <code>HYPER</code>, then all keys which can losslessly be converted to this type (possibly using widening conversions) are accepted.</li> <li>If the key type is an interface type, then all key values denoting objects which can be queried for the given interface are accepted.</li> <li>All other key types are rejected.</li> </ul></p> <p>For the values put into the map using <a href="XMap.html">XMap</a>::<a href="XMap.html#put">put</a> or <a href="EnumerableMap.html#createImmutable">createImmutable</a>, the following rules apply: <a name="valuerules"></a> <ul><li>The <b>void</b> value will be accepted to be put into the map.</p> <li>If the value type's class is ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#ANY">ANY</a>, any value will be accepted.</li> <li>If the value type is an interface type, then all values denoting objects which can be queried for the given interface are accepted.</li> <li>If the value type's class is ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#EXCEPTION">EXCEPTION</a> or ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#STRUCT">STRUCT</a>, then values whose type equals the value type, or is a sub class of the value type, are accepted.</li> <li>For all other value types, only values whose type matches exactly are accepted.</li> <li>If the value type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively <code>Float.NaN</code> is not accepted.</li> </ul></p> <p>The factory methods of the <code>XEnumerableMap</code> interface support both <em>isolated</em> and <em>non-isolated</em> 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::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/DisposedException.html">DisposedException</a> being thrown.</p> </dd> <dt><b>See also</b></dt> <dd><a href="http://udk.openoffice.org/common/man/typesystem.html">http://udk.openoffice.org/common/man/typesystem.html</a></dd> </dl> </td> </tr> </table> <hr> <hr> <a name="ConstructorsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Constructors' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#create">create</a></td> <td class="imsum_right">creates an instance mapping from the given key type to the given value type </td> </tr> <tr> <td class="imsum_left"><a href="#createImmutable">createImmutable</a></td> <td class="imsum_right">creates an instance mapping from the given key type to the given value type </td> </tr> </table> <a name="ConstructorsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Constructors' Details</td> </tr> <tr> <td class="imdetail"><a name="create" class="membertitle">create</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3"/></tr> <tr> <td valign="top"><b>create</b>(</td> <td valign="top">[in] type</td> <td valign="bottom"> KeyType,</td> </tr> <tr> <td/><td valign="top">[in] type</td> <td valign="bottom"> ValueType )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/IllegalTypeException.html">IllegalTypeException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>creates an instance mapping from the given key type to the given value type </dd> <dt><b>Parameter KeyType</b></dt> <dd>denotes the type of the keys in the to-be-created map </dd> <dt><b>Parameter ValueType</b></dt> <dd>denotes the type of the values in the to-be-created map </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::beans::IllegalTypeException if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. For values, all type classes except ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#VOID">VOID</a> and ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#UNKNOWN">UNKNOWN</a> are accepted. For keys, scalar types, strings, com::sun::star::uno::Type itself, and interface types are accepted. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="createImmutable" class="membertitle">createImmutable</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3"/></tr> <tr> <td valign="top"><b>createImmutable</b>(</td> <td valign="top">[in] type</td> <td valign="bottom"> KeyType,</td> </tr> <tr> <td/><td valign="top">[in] type</td> <td valign="bottom"> ValueType,</td> </tr> <tr> <td/><td valign="top">[in] sequence< ::com::sun::star::beans::Pair< any, any > ></td> <td valign="bottom"> Values )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/IllegalTypeException.html">IllegalTypeException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>creates an instance mapping from the given key type to the given value type </dd> <dd><p>The resulting map is immutable, so later alter operations on it will fail with a ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NoSupportException.html">NoSupportException</a>.</p> </dd> <dt><b>Parameter KeyType</b></dt> <dd>denotes the type of the keys in the to-be-created map </dd> <dt><b>Parameter ValueType</b></dt> <dd>denotes the type of the values in the to-be-created map </dd> <dt><b>Parameter Values</b></dt> <dd>denote the values contained in the to-be-created map </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::beans::IllegalTypeException if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. For values, all type classes except ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/TypeClass.html">TypeClass</a>::<a href="../uno/TypeClass.html#VOID">VOID</a> are accepted.<br/> For keys, scalar types, strings, com::sun::star::uno::Type itself, and interface types are accepted. </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::lang::IllegalArgumentException if any of the given values or keys violates the <a href="#keyrules">key rules</a> or <a href="#valuerules">value rules</a>. </dd> </dl> </td> </tr> </table> </td> </tr> </table> <br> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-idlref" --> </body> </html>