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