1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef __com_sun_star_container_XStringKeyMap_idl__
29 #define __com_sun_star_container_XStringKeyMap_idl__
31 #ifndef __com_sun_star_uno_XInterface_idl__
32 #include
<com
/sun
/star
/uno
/XInterface.idl
>
35 #ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
36 #include
<com
/sun
/star
/lang
/IndexOutOfBoundsException.idl
>
39 #ifndef __com_sun_star_container_ElementExistException_idl__
40 #include
<com
/sun
/star
/container
/ElementExistException.idl
>
43 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
44 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
47 #ifndef __com_sun_star_container_NoSuchElementException_idl__
48 #include
<com
/sun
/star
/container
/NoSuchElementException.idl
>
51 //=============================================================================
53 module com
{ module sun
{ module star
{ module container
{
55 //=============================================================================
57 /** maps strings to anys.
62 interface XStringKeyMap
64 //-------------------------------------------------------------------------
65 /** reads data from the map.
68 The key string which should be searched for.
71 the value matching aKey.
73 @throws com::sun::star::container::NoSuchElementException
74 if an element under aKey does not exist.
76 any getValue
( [in] string aKey
)
77 raises
( com
::sun
::star
::container
::NoSuchElementException
);
80 //-------------------------------------------------------------------------
81 /** checks for element existence.
84 The key string which should be searched for.
87 true if an element with key aKey exists.
89 boolean hasValue
( [in] string aKey
);
92 //-------------------------------------------------------------------------
93 /** writes data to the map.
96 The key string which should be used to store the value.
99 The value that should be stored.
101 @throws com::sun::star::lang::IllegalArgumentException
102 if the element could not be inserted.
104 @throws com::sun::star::container::ElementExistException
105 if there is already a value stored under the key aKey.
107 void insertValue
( [in] string aKey
, [in] any aValue
)
108 raises
( com
::sun
::star
::lang
::IllegalArgumentException
,
109 com
::sun
::star
::container
::ElementExistException
);
112 //-------------------------------------------------------------------------
113 /** the number of elements in the map.
115 [attribute
, readonly] long Count
;
118 //-------------------------------------------------------------------------
119 /** obtains the key of an element by index.
122 is the index of the element.
125 the key string matching the given index.
127 @throws com::sun::star::lang::IndexOutOfBoundsException
128 if the specified index is greater than the number of
131 string getKeyByIndex
( [in] long nIndex
)
132 raises
( com
::sun
::star
::lang
::IndexOutOfBoundsException
);
135 //-------------------------------------------------------------------------
136 /** obtains the value of an element by index.
139 is the index of the key.
142 the value matching the given index.
144 @throws com::sun::star::lang::IndexOutOfBoundsException
145 if the specified index is greater than the number of
148 any getValueByIndex
( [in] long nIndex
)
149 raises
( com
::sun
::star
::lang
::IndexOutOfBoundsException
);