xref: /AOO41X/main/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl (revision 408a4873fc8bcc602c90ea4598886bb71abf0675)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
24#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
25
26#ifndef __com_sun_star_uno_XInterface_idl__
27#include <com/sun/star/uno/XInterface.idl>
28#endif
29
30#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
31#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
32#endif
33
34#ifndef __com_sun_star_beans_PropertyVetoException_idl__
35#include <com/sun/star/beans/PropertyVetoException.idl>
36#endif
37
38#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
39#include <com/sun/star/lang/IllegalArgumentException.idl>
40#endif
41
42#ifndef __com_sun_star_lang_WrappedTargetException_idl__
43#include <com/sun/star/lang/WrappedTargetException.idl>
44#endif
45
46//=============================================================================
47
48module com {  module sun {  module star {  module beans {
49
50//=============================================================================
51
52/** provides access to multiple properties which form a hierarchy.
53
54    @see XHierarchicalPropertySet
55 */
56published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface
57{
58    //-------------------------------------------------------------------------
59
60    /** retrieve information about the hierarchy of properties
61
62        @returns
63                the <type>XHierarchicalPropertySetInfo</type> interface,
64                which describes the property hierarchy of the object which
65                supplies this interface.
66
67        @returns
68                <NULL/> if the implementation cannot or will
69                not provide information about the properties; otherwise the
70                interface <type>XHierarchicalPropertySetInfo</type> is returned.
71
72        @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo
73     */
74    com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo();
75
76    //-------------------------------------------------------------------------
77
78    /** sets the values of the properties with the specified nested names.
79
80        <p> The values of the properties must change before bound
81            events are fired. The values of constrained properties
82            should change after the vetoable events are fired, if no
83            exception occurs.  </p>
84
85        <p> Unknown properties are ignored.  </p>
86
87        @param  aHierarchicalPropertyNames
88                This parameter specifies the names of the properties.
89
90        @param  aValues
91                This parameter specifies the new values for the properties.
92
93        @throws PropertyVetoException
94                if one of the properties is constrained and the change is
95                vetoed by a <type>XVetoableChangeListener</type>.
96
97        @throws com::sun::star::lang::IllegalArgumentException
98                if one of the values is not a legal value for the
99                corresponding property or if one of the names
100                is not a well-formed nested name for this hierarchy.
101                An implementation is not required to detect the latter
102                condition.
103
104        @throws com::sun::star::lang::WrappedTargetException
105                if the implementation has an internal reason for the exception.
106                In this case the original exception is wrapped into that
107                <type scope="com::sun::star::lang">WrappedTargetException</type>.
108
109        @see XHierarchicalPropertySet::setHierarchicalPropertyValue
110        @see XMultiPropertySet::setPropertyValues
111     */
112
113
114    void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames,
115             [in] sequence<any> Values )
116            raises( com::sun::star::beans::PropertyVetoException,
117                    com::sun::star::lang::IllegalArgumentException,
118                    com::sun::star::lang::WrappedTargetException );
119
120    //-------------------------------------------------------------------------
121
122    /** @returns
123            a sequence of all values of the properties which are specified
124            by their nested names.
125
126        <p> The order of the values in the returned sequence will be the same
127            as the order of the names in the argument.  </p>
128
129        <p> Unknown properties are ignored, in their place <NULL/> will be returned.  </p>
130
131        @throws com::sun::star::lang::IllegalArgumentException
132                if one of the names is not a well-formed
133                nested name for this hierarchy.
134                An implementation is not required to detect this
135                condition.
136
137        @throws com::sun::star::lang::WrappedTargetException
138                if the implementation has an internal reason for the exception.
139                In this case the original exception is wrapped into that
140                <type scope="com::sun::star::lang">WrappedTargetException</type>.
141
142        @see XHierarchicalPropertySet::getHierarchicalPropertyValue
143        @see XMultiPropertySet::setPropertyValues
144     */
145    sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames )
146            raises( com::sun::star::lang::IllegalArgumentException ,
147                    com::sun::star::lang::WrappedTargetException );
148
149    //-------------------------------------------------------------------------
150
151};
152
153//=============================================================================
154
155}; }; }; };
156
157#endif
158