1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 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. 14 * 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). 20 * 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. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_container_XStringKeyMap_idl__ 29#define __com_sun_star_container_XStringKeyMap_idl__ 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ 36#include <com/sun/star/lang/IndexOutOfBoundsException.idl> 37#endif 38 39#ifndef __com_sun_star_container_ElementExistException_idl__ 40#include <com/sun/star/container/ElementExistException.idl> 41#endif 42 43#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 44#include <com/sun/star/lang/IllegalArgumentException.idl> 45#endif 46 47#ifndef __com_sun_star_container_NoSuchElementException_idl__ 48#include <com/sun/star/container/NoSuchElementException.idl> 49#endif 50 51//============================================================================= 52 53module com { module sun { module star { module container { 54 55//============================================================================= 56 57/** maps strings to anys. 58 59 @since OOo 2.3 60 */ 61 62interface XStringKeyMap 63{ 64 //------------------------------------------------------------------------- 65 /** reads data from the map. 66 67 @param aKey 68 The key string which should be searched for. 69 70 @return 71 the value matching aKey. 72 73 @throws com::sun::star::container::NoSuchElementException 74 if an element under aKey does not exist. 75 */ 76 any getValue( [in] string aKey ) 77 raises( com::sun::star::container::NoSuchElementException ); 78 79 80 //------------------------------------------------------------------------- 81 /** checks for element existence. 82 83 @param aKey 84 The key string which should be searched for. 85 86 @return 87 true if an element with key aKey exists. 88 */ 89 boolean hasValue( [in] string aKey ); 90 91 92 //------------------------------------------------------------------------- 93 /** writes data to the map. 94 95 @param aKey 96 The key string which should be used to store the value. 97 98 @param aValue 99 The value that should be stored. 100 101 @throws com::sun::star::lang::IllegalArgumentException 102 if the element could not be inserted. 103 104 @throws com::sun::star::container::ElementExistException 105 if there is already a value stored under the key aKey. 106 */ 107 void insertValue( [in] string aKey, [in] any aValue ) 108 raises( com::sun::star::lang::IllegalArgumentException, 109 com::sun::star::container::ElementExistException ); 110 111 112 //------------------------------------------------------------------------- 113 /** the number of elements in the map. 114 */ 115 [attribute, readonly] long Count; 116 117 118 //------------------------------------------------------------------------- 119 /** obtains the key of an element by index. 120 121 @param nIndex 122 is the index of the element. 123 124 @return 125 the key string matching the given index. 126 127 @throws com::sun::star::lang::IndexOutOfBoundsException 128 if the specified index is greater than the number of 129 elements 130 */ 131 string getKeyByIndex( [in] long nIndex ) 132 raises( com::sun::star::lang::IndexOutOfBoundsException ); 133 134 135 //------------------------------------------------------------------------- 136 /** obtains the value of an element by index. 137 138 @param nIndex 139 is the index of the key. 140 141 @return 142 the value matching the given index. 143 144 @throws com::sun::star::lang::IndexOutOfBoundsException 145 if the specified index is greater than the number of 146 elements 147 */ 148 any getValueByIndex( [in] long nIndex ) 149 raises( com::sun::star::lang::IndexOutOfBoundsException ); 150}; 151 152}; }; }; }; 153 154#endif 155