1408a4873SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3408a4873SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4408a4873SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5408a4873SAndrew Rist * distributed with this work for additional information
6408a4873SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7408a4873SAndrew Rist * to you under the Apache License, Version 2.0 (the
8408a4873SAndrew Rist * "License"); you may not use this file except in compliance
9408a4873SAndrew Rist * with the License.  You may obtain a copy of the License at
10408a4873SAndrew Rist *
11408a4873SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12408a4873SAndrew Rist *
13408a4873SAndrew Rist * Unless required by applicable law or agreed to in writing,
14408a4873SAndrew Rist * software distributed under the License is distributed on an
15408a4873SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16408a4873SAndrew Rist * KIND, either express or implied.  See the License for the
17408a4873SAndrew Rist * specific language governing permissions and limitations
18408a4873SAndrew Rist * under the License.
19408a4873SAndrew Rist *
20408a4873SAndrew Rist *************************************************************/
21408a4873SAndrew Rist
22408a4873SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
24cdf0e10cSrcweir#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir
27cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
28cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
29cdf0e10cSrcweir#endif
30cdf0e10cSrcweir
31cdf0e10cSrcweir#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
32cdf0e10cSrcweir#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl>
33cdf0e10cSrcweir#endif
34cdf0e10cSrcweir
35cdf0e10cSrcweir#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__
36cdf0e10cSrcweir#include <com/sun/star/beans/GetPropertyTolerantResult.idl>
37cdf0e10cSrcweir#endif
38cdf0e10cSrcweir
39cdf0e10cSrcweir#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__
40cdf0e10cSrcweir#include <com/sun/star/beans/SetPropertyTolerantFailed.idl>
41cdf0e10cSrcweir#endif
42cdf0e10cSrcweir
43cdf0e10cSrcweir#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
44cdf0e10cSrcweir#include <com/sun/star/lang/IllegalArgumentException.idl>
45cdf0e10cSrcweir#endif
46cdf0e10cSrcweir
47cdf0e10cSrcweir
48cdf0e10cSrcweir//=============================================================================
49cdf0e10cSrcweir
50cdf0e10cSrcweirmodule com {  module sun {  module star {  module beans {
51cdf0e10cSrcweir
52cdf0e10cSrcweir//=============================================================================
53cdf0e10cSrcweir
54cdf0e10cSrcweir/** provides access to multiple iformation of
55cdf0e10cSrcweir    a set of properties with a single call.
56cdf0e10cSrcweir
57cdf0e10cSrcweir    <p>The speciality of this interface is that none of the functions
58cdf0e10cSrcweir    will throw the usual exceptions associated with setting and retrieving
59cdf0e10cSrcweir    of property values. Instead the data for the failures is collected and
60cdf0e10cSrcweir    returned.</p>
61cdf0e10cSrcweir
62cdf0e10cSrcweir    <p>Note: There is no support for property change listeners in this
63cdf0e10cSrcweir    interface.</p>
64cdf0e10cSrcweir
65cdf0e10cSrcweir    @see com::sun::star::beans::XPropertySet
66cdf0e10cSrcweir    @see com::sun::star::beans::XMultiPropertySet
67cdf0e10cSrcweir */
68cdf0e10cSrcweirpublished interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface
69cdf0e10cSrcweir{
70cdf0e10cSrcweir	//-------------------------------------------------------------------------
71cdf0e10cSrcweir
72cdf0e10cSrcweir	/** sets the values to the properties with the specified names.
73cdf0e10cSrcweir
74cdf0e10cSrcweir		@param aPropertyNames
75cdf0e10cSrcweir            specifies the names of the properties.
76cdf0e10cSrcweir            The property names must be sorted ascending.
77cdf0e10cSrcweir
78cdf0e10cSrcweir            <p>If the names are not sorted the behaviour of the method
79cdf0e10cSrcweir            is undefined!</p>
80cdf0e10cSrcweir
81cdf0e10cSrcweir        @param aPropertyValues
82cdf0e10cSrcweir            specifies the values of the properties.
83cdf0e10cSrcweir            The order of the values has to be the same as in the
84cdf0e10cSrcweir            <var>aPropertyNames</var> parameter int order to match
85cdf0e10cSrcweir            the property name with its value.
86cdf0e10cSrcweir
87cdf0e10cSrcweir        @returns
88*86e1cf34SPedro Giffuni            An empty sequence if all properties are successful set.
89cdf0e10cSrcweir
90cdf0e10cSrcweir            Otherwise for every property value that could not successfully
91cdf0e10cSrcweir            be set an entry of the
92cdf0e10cSrcweir            <type scope="com::sun::star::beans">SetPropertyTolerantFailed</type>
93cdf0e10cSrcweir            will be present in this sequence.
94cdf0e10cSrcweir            The order of the properties is also alphabetically ascending.
95cdf0e10cSrcweir
96cdf0e10cSrcweir        @throws IllegalArgumentException
97cdf0e10cSrcweir            if the number of property names and values do not match.
98cdf0e10cSrcweir
99cdf0e10cSrcweir	 */
100cdf0e10cSrcweir    sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant(
101cdf0e10cSrcweir                [in] sequence< string > aPropertyNames,
102cdf0e10cSrcweir                [in] sequence< any >    aValues )
103cdf0e10cSrcweir        raises( com::sun::star::lang::IllegalArgumentException );
104cdf0e10cSrcweir
105cdf0e10cSrcweir	//-------------------------------------------------------------------------
106cdf0e10cSrcweir
107cdf0e10cSrcweir    /** retrieve the values of the specified properties
108cdf0e10cSrcweir
109cdf0e10cSrcweir        <p>The count and order of the values in the returned sequence
110cdf0e10cSrcweir            will be the same as the order of the names in the argument.</p>
111cdf0e10cSrcweir
112cdf0e10cSrcweir		@param aPropertyNames
113cdf0e10cSrcweir			specifies the names of the properties.
114cdf0e10cSrcweir            The property names must be sorted ascending.
115cdf0e10cSrcweir
116cdf0e10cSrcweir            <p>If the names are not sorted the behaviour of the method
117cdf0e10cSrcweir            is undefined!</p>
118cdf0e10cSrcweir
119cdf0e10cSrcweir        @returns
120cdf0e10cSrcweir            a sequence of type
121cdf0e10cSrcweir            <type scope="com::sun::star::beans">GetPropertyTolerantResult</type>
122cdf0e10cSrcweir            for each of the properties listed in <var>aPropertyNames</var>.
123cdf0e10cSrcweir	 */
124cdf0e10cSrcweir    sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant(
125cdf0e10cSrcweir                [in] sequence< string > aPropertyNames );
126cdf0e10cSrcweir
127cdf0e10cSrcweir
128cdf0e10cSrcweir    //-------------------------------------------------------------------------
129cdf0e10cSrcweir
130cdf0e10cSrcweir    /** retrieve only those values of the specified properties which
131cdf0e10cSrcweir        are direct values.
132cdf0e10cSrcweir
133cdf0e10cSrcweir        <p>Since the count of returned elements may be different from
134cdf0e10cSrcweir        the number of supplied property names the returned elements
135cdf0e10cSrcweir        will also state the name of the property.</p>
136cdf0e10cSrcweir
137cdf0e10cSrcweir        @param aPropertyNames
138cdf0e10cSrcweir            specifies the names of the properties.
139cdf0e10cSrcweir            The property names must be sorted ascending.
140cdf0e10cSrcweir
141cdf0e10cSrcweir            <p>If the names are not sorted the behaviour of the method
142cdf0e10cSrcweir            is undefined!</p>
143cdf0e10cSrcweir
144cdf0e10cSrcweir        @returns
145cdf0e10cSrcweir            a sequence of type
146cdf0e10cSrcweir            <type scope="com::sun::star::beans">GetDirectPropertyTolerantResult</type>
147cdf0e10cSrcweir            but only for those properties supplied whoms state is
148cdf0e10cSrcweir            <member scope="com::sun::star::beans::PropertyState">DIRECT_VALUE</member>.
149cdf0e10cSrcweir     */
150cdf0e10cSrcweir    sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant(
151cdf0e10cSrcweir                [in] sequence< string > aPropertyNames );
152cdf0e10cSrcweir
153cdf0e10cSrcweir};
154cdf0e10cSrcweir
155cdf0e10cSrcweir//=============================================================================
156cdf0e10cSrcweir
157cdf0e10cSrcweir}; }; }; };
158cdf0e10cSrcweir
159cdf0e10cSrcweir#endif
160cdf0e10cSrcweir
161