xref: /trunk/main/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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#ifndef __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
28#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
35#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
36#endif
37
38#ifndef __com_sun_star_beans_PropertyVetoException_idl__
39#include <com/sun/star/beans/PropertyVetoException.idl>
40#endif
41
42#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
43#include <com/sun/star/lang/IllegalArgumentException.idl>
44#endif
45
46#ifndef __com_sun_star_lang_WrappedTargetException_idl__
47#include <com/sun/star/lang/WrappedTargetException.idl>
48#endif
49
50//=============================================================================
51
52module com {  module sun {  module star {  module beans {
53
54//=============================================================================
55
56/** provides access to multiple properties which form a hierarchy.
57
58    @see XHierarchicalPropertySet
59 */
60published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface
61{
62    //-------------------------------------------------------------------------
63
64    /** retrieve information about the hierarchy of properties
65
66        @returns
67                the <type>XHierarchicalPropertySetInfo</type> interface,
68                which describes the property hierarchy of the object which
69                supplies this interface.
70
71        @returns
72                <NULL/> if the implementation cannot or will
73                not provide information about the properties; otherwise the
74                interface <type>XHierarchicalPropertySetInfo</type> is returned.
75
76        @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo
77     */
78    com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo();
79
80    //-------------------------------------------------------------------------
81
82    /** sets the values of the properties with the specified nested names.
83
84        <p> The values of the properties must change before bound
85            events are fired. The values of constrained properties
86            should change after the vetoable events are fired, if no
87            exception occurs.  </p>
88
89        <p> Unknown properties are ignored.  </p>
90
91        @param  aHierarchicalPropertyNames
92                This parameter specifies the names of the properties.
93
94        @param  aValues
95                This parameter specifies the new values for the properties.
96
97        @throws PropertyVetoException
98                if one of the properties is constrained and the change is
99                vetoed by a <type>XVetoableChangeListener</type>.
100
101        @throws com::sun::star::lang::IllegalArgumentException
102                if one of the values is not a legal value for the
103                corresponding property or if one of the names
104                is not a well-formed nested name for this hierarchy.
105                An implementation is not required to detect the latter
106                condition.
107
108        @throws com::sun::star::lang::WrappedTargetException
109                if the implementation has an internal reason for the exception.
110                In this case the original exception is wrapped into that
111                <type scope="com::sun::star::lang">WrappedTargetException</type>.
112
113        @see XHierarchicalPropertySet::setHierarchicalPropertyValue
114        @see XMultiPropertySet::setPropertyValues
115     */
116
117
118    void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames,
119             [in] sequence<any> Values )
120            raises( com::sun::star::beans::PropertyVetoException,
121                    com::sun::star::lang::IllegalArgumentException,
122                    com::sun::star::lang::WrappedTargetException );
123
124    //-------------------------------------------------------------------------
125
126    /** @returns
127            a sequence of all values of the properties which are specified
128            by their nested names.
129
130        <p> The order of the values in the returned sequence will be the same
131            as the order of the names in the argument.  </p>
132
133        <p> Unknown properties are ignored, in their place <NULL/> will be returned.  </p>
134
135        @throws com::sun::star::lang::IllegalArgumentException
136                if one of the names is not a well-formed
137                nested name for this hierarchy.
138                An implementation is not required to detect this
139                condition.
140
141        @throws com::sun::star::lang::WrappedTargetException
142                if the implementation has an internal reason for the exception.
143                In this case the original exception is wrapped into that
144                <type scope="com::sun::star::lang">WrappedTargetException</type>.
145
146        @see XHierarchicalPropertySet::getHierarchicalPropertyValue
147        @see XMultiPropertySet::setPropertyValues
148     */
149    sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames )
150            raises( com::sun::star::lang::IllegalArgumentException ,
151                    com::sun::star::lang::WrappedTargetException );
152
153    //-------------------------------------------------------------------------
154
155};
156
157//=============================================================================
158
159}; }; }; };
160
161#endif
162