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_XTolerantMultiPropertySet_idl__ 28#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__ 29 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ 36#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl> 37#endif 38 39#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ 40#include <com/sun/star/beans/GetPropertyTolerantResult.idl> 41#endif 42 43#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__ 44#include <com/sun/star/beans/SetPropertyTolerantFailed.idl> 45#endif 46 47#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 48#include <com/sun/star/lang/IllegalArgumentException.idl> 49#endif 50 51 52//============================================================================= 53 54module com { module sun { module star { module beans { 55 56//============================================================================= 57 58/** provides access to multiple iformation of 59 a set of properties with a single call. 60 61 <p>The speciality of this interface is that none of the functions 62 will throw the usual exceptions associated with setting and retrieving 63 of property values. Instead the data for the failures is collected and 64 returned.</p> 65 66 <p>Note: There is no support for property change listeners in this 67 interface.</p> 68 69 @see com::sun::star::beans::XPropertySet 70 @see com::sun::star::beans::XMultiPropertySet 71 */ 72published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface 73{ 74 //------------------------------------------------------------------------- 75 76 /** sets the values to the properties with the specified names. 77 78 @param aPropertyNames 79 specifies the names of the properties. 80 The property names must be sorted ascending. 81 82 <p>If the names are not sorted the behaviour of the method 83 is undefined!</p> 84 85 @param aPropertyValues 86 specifies the values of the properties. 87 The order of the values has to be the same as in the 88 <var>aPropertyNames</var> parameter int order to match 89 the property name with its value. 90 91 @returns 92 An empty sequence if all properties are successfull set. 93 94 Otherwise for every property value that could not successfully 95 be set an entry of the 96 <type scope="com::sun::star::beans">SetPropertyTolerantFailed</type> 97 will be present in this sequence. 98 The order of the properties is also alphabetically ascending. 99 100 @throws IllegalArgumentException 101 if the number of property names and values do not match. 102 103 */ 104 sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant( 105 [in] sequence< string > aPropertyNames, 106 [in] sequence< any > aValues ) 107 raises( com::sun::star::lang::IllegalArgumentException ); 108 109 //------------------------------------------------------------------------- 110 111 /** retrieve the values of the specified properties 112 113 <p>The count and order of the values in the returned sequence 114 will be the same as the order of the names in the argument.</p> 115 116 @param aPropertyNames 117 specifies the names of the properties. 118 The property names must be sorted ascending. 119 120 <p>If the names are not sorted the behaviour of the method 121 is undefined!</p> 122 123 @returns 124 a sequence of type 125 <type scope="com::sun::star::beans">GetPropertyTolerantResult</type> 126 for each of the properties listed in <var>aPropertyNames</var>. 127 */ 128 sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant( 129 [in] sequence< string > aPropertyNames ); 130 131 132 //------------------------------------------------------------------------- 133 134 /** retrieve only those values of the specified properties which 135 are direct values. 136 137 <p>Since the count of returned elements may be different from 138 the number of supplied property names the returned elements 139 will also state the name of the property.</p> 140 141 @param aPropertyNames 142 specifies the names of the properties. 143 The property names must be sorted ascending. 144 145 <p>If the names are not sorted the behaviour of the method 146 is undefined!</p> 147 148 @returns 149 a sequence of type 150 <type scope="com::sun::star::beans">GetDirectPropertyTolerantResult</type> 151 but only for those properties supplied whoms state is 152 <member scope="com::sun::star::beans::PropertyState">DIRECT_VALUE</member>. 153 */ 154 sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant( 155 [in] sequence< string > aPropertyNames ); 156 157}; 158 159//============================================================================= 160 161}; }; }; }; 162 163#endif 164 165