blob: f3df6e6e994043d12561c1112cef1a3e597e0f61 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_container_XStringKeyMap_idl__
#define __com_sun_star_container_XStringKeyMap_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
#endif
#ifndef __com_sun_star_container_ElementExistException_idl__
#include <com/sun/star/container/ElementExistException.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif
#ifndef __com_sun_star_container_NoSuchElementException_idl__
#include <com/sun/star/container/NoSuchElementException.idl>
#endif
//=============================================================================
module com { module sun { module star { module container {
//=============================================================================
/** maps strings to anys.
@since OpenOffice 2.3
*/
interface XStringKeyMap
{
//-------------------------------------------------------------------------
/** reads data from the map.
@param aKey
The key string which should be searched for.
@return
the value matching aKey.
@throws com::sun::star::container::NoSuchElementException
if an element under aKey does not exist.
*/
any getValue( [in] string aKey )
raises( com::sun::star::container::NoSuchElementException );
//-------------------------------------------------------------------------
/** checks for element existence.
@param aKey
The key string which should be searched for.
@return
true if an element with key aKey exists.
*/
boolean hasValue( [in] string aKey );
//-------------------------------------------------------------------------
/** writes data to the map.
@param aKey
The key string which should be used to store the value.
@param aValue
The value that should be stored.
@throws com::sun::star::lang::IllegalArgumentException
if the element could not be inserted.
@throws com::sun::star::container::ElementExistException
if there is already a value stored under the key aKey.
*/
void insertValue( [in] string aKey, [in] any aValue )
raises( com::sun::star::lang::IllegalArgumentException,
com::sun::star::container::ElementExistException );
//-------------------------------------------------------------------------
/** the number of elements in the map.
*/
[attribute, readonly] long Count;
//-------------------------------------------------------------------------
/** obtains the key of an element by index.
@param nIndex
is the index of the element.
@return
the key string matching the given index.
@throws com::sun::star::lang::IndexOutOfBoundsException
if the specified index is greater than the number of
elements
*/
string getKeyByIndex( [in] long nIndex )
raises( com::sun::star::lang::IndexOutOfBoundsException );
//-------------------------------------------------------------------------
/** obtains the value of an element by index.
@param nIndex
is the index of the key.
@return
the value matching the given index.
@throws com::sun::star::lang::IndexOutOfBoundsException
if the specified index is greater than the number of
elements
*/
any getValueByIndex( [in] long nIndex )
raises( com::sun::star::lang::IndexOutOfBoundsException );
};
}; }; }; };
#endif