1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_container_XIdentifierContainer_idl__
20 #define __com_sun_star_container_XIdentifierContainer_idl__
22 #include
<com
/sun
/star
/container
/XIdentifierReplace.idl
>
24 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
26 #include
<com
/sun
/star
/container
/ElementExistException.idl
>
28 #include
<com
/sun
/star
/lang
/WrappedTargetException.idl
>
30 #include
<com
/sun
/star
/container
/NoSuchElementException.idl
>
33 module com
{ module sun
{ module star
{ module container
{
36 /** This is the generic interface for supporting the creation and removal of
37 elements with unique identifiers.
41 published
interface XIdentifierContainer
: com
::sun
::star
::container
::XIdentifierReplace
44 /** inserts an element and creates a new unique identifier for it.
47 the newly created identifier under which the element is inserted.
50 The new element that will be inserted.
52 @throws com::sun::star::lang::IllegalArgumentException
53 if the argument is not vailid for this container.
55 @throws com::sun::star::lang::WrappedTargetException
56 If the implementation has internal reasons for exceptions,
57 then wrap these in a com::sun::star::lang::WrappedTargetException
61 long insert
( [in] any aElement
)
62 raises
( com
::sun
::star
::lang
::IllegalArgumentException
,
63 com
::sun
::star
::lang
::WrappedTargetException
);
66 /** removes the element with the specified identifier.
69 The identifier that should be removed.
71 @throws com::sun::star::lang::NoSuchElementException
72 If the identifier does not exist.
74 @throws com::sun::star::lang::WrappedTargetException
75 If the implementation has internal reasons for exceptions,
76 then wrap these in a com::sun::star::lang::WrappedTargetException
79 void removeByIdentifier
( [in] long Identifier
)
80 raises
( com
::sun
::star
::container
::NoSuchElementException
,
81 com
::sun
::star
::lang
::WrappedTargetException
);
90 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */