/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* 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 .
*/
module com { module sun { module star { module container {
/** extends XMap with enumeration capabilities.
< p > No assumption should be made about the ordering of the elements returned by the various enumerators .
In particular , you cannot assume the elements are returned in the same order as they were inserted . Also ,
you should not expect the < code > XMap < / code > implementation to make use of a possibly existing strict ordering
defined on the domain of all possible key values . < / p >
< p > You can create enumerators for the keys of the map , its values , and its key - value pairs . < / p >
< p > In all cases , you can create an < em > isolated < / em > enumerator , which works on a copy of the
map ' s content . Such an iterator is not affected by changes done to the map after creation of
the enumerator . < / p >
< p > On the contrary , an enumerator which is < em > non - isolated < / em > works directly on the map data .
This is less expensive than an < em > isolated < / em > enumerator , but means that changes to the map while
an enumeration is running potentially invalidate your enumerator . The concrete behavior in this
case is undefined , it ' s up to the service implementing the < code > XEnumerableMap < / code > interface
to specify it in more detail . < / p >
< p > Implementations of this interface might decide to support only < em > isolated < / em > enumerators , or
only < em > non - isolated < / em > enumerators . Again , it ' s up to the service to specify this . Requesting an
enumerator type which is not supported will generally result in a com : : sun : : star : : lang : : NoSupportException
being thrown . < / p >
*/
interface XEnumerableMap : XMap
{
/** creates an enumerator for the keys of the map
@ param Isolated
controls whether the newly create enumerator should be isolated from the map .
@ throws : : com : : sun : : star : : lang : : NoSupportException
if the specified enumerator method is not supported by the implementation .
*/
XEnumeration createKeyEnumeration( [in] boolean Isolated )
raises ( ::com::sun::star::lang::NoSupportException );
/** creates an enumerator for the values of the map
@ param Isolated
controls whether the newly create enumerator should be isolated from the map .
@ throws : : com : : sun : : star : : lang : : NoSupportException
if the specified enumerator method is not supported by the implementation .
*/
XEnumeration createValueEnumeration( [in] boolean Isolated )
raises ( ::com::sun::star::lang::NoSupportException );
/** creates an enumerator for the key-value pairs of the map
< p > The elements returned by the enumerator are instances of com : : sun : : star : : beans : : Pair ,
holding the key - value - pairs which are part of the map . < / p >
@ param Isolated
controls whether the newly create enumerator should be isolated from the map .
@ throws : : com : : sun : : star : : lang : : NoSupportException
if the specified enumerator method is not supported by the implementation .
*/
XEnumeration createElementEnumeration( [in] boolean Isolated )
raises ( ::com::sun::star::lang::NoSupportException );
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=87 H=97 G=91
¤ Dauer der Verarbeitung: 0.5 Sekunden
¤
*© Formatika GbR, Deutschland