update dev300-m58
[ooovba.git] / udkapi / com / sun / star / beans / XHierarchicalPropertySet.idl
blob4a593e4d94e06b0b21020e7018d6f0e4c270f14b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XHierarchicalPropertySet.idl,v $
10 * $Revision: 1.14 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_beans_XHierarchicalPropertySet_idl__
31 #define __com_sun_star_beans_XHierarchicalPropertySet_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
37 #ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
38 #include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
39 #endif
41 #ifndef __com_sun_star_beans_UnknownPropertyException_idl__
42 #include <com/sun/star/beans/UnknownPropertyException.idl>
43 #endif
45 #ifndef __com_sun_star_beans_PropertyVetoException_idl__
46 #include <com/sun/star/beans/PropertyVetoException.idl>
47 #endif
49 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
50 #include <com/sun/star/lang/IllegalArgumentException.idl>
51 #endif
53 #ifndef __com_sun_star_lang_WrappedTargetException_idl__
54 #include <com/sun/star/lang/WrappedTargetException.idl>
55 #endif
58 //=============================================================================
60 module com { module sun { module star { module beans {
62 //=============================================================================
64 /** provides information about and access to the
65 a hierarchy of properties from an implementation.
67 <p> Usually an object that implements this interface
68 also implements <type>XPropertySet</type> and at
69 least some of the properties have subproperties. </p>
71 <p> This interface allows direct access to subsubproperties, ...
72 up to an arbitrary nesting depth. Often the intermediate
73 elements of the hierarchy implement <type>XProperty</type>. </p>
75 <p> Each implementation specifies how the
76 hierarchical property names, that are
77 used to access the elements of the hierarchy,
78 are formed. </p>
80 <p> Commonly a notation similar to filesystem pathes
81 (separated by '/' slashes) or nested module names
82 (separated by dots '.' or '::') is used. </p>
85 published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface
87 //-------------------------------------------------------------------------
89 /** retrieve information about the hierarchy of properties
91 @returns
92 the <type>XHierarchicalPropertySetInfo</type> interface,
93 which describes the property hierarchy of the object which
94 supplies this interface.
96 @returns
97 <NULL/> if the implementation cannot or will
98 not provide information about the properties; otherwise the
99 interface <type>XHierarchicalPropertySetInfo</type> is returned.
101 com::sun::star::beans::XHierarchicalPropertySetInfo
102 getHierarchicalPropertySetInfo();
104 //-------------------------------------------------------------------------
106 /** sets the value of the property with the specified nested name.
108 @param aHierarchicalPropertyName
109 This parameter specifies the name of the property.
111 @param aValue
112 This parameter specifies the new value for the property.
114 @throws UnknownPropertyException
115 if the property does not exist.
117 @throws PropertyVetoException
118 if the property is constrained and the change is vetoed by a
119 <type>XVetoableChangeListener</type>.
121 @throws com::sun::star::uno::lang::IllegalArgumentException
122 if <var>aValue</var> is not a legal value for this property or
123 if <var>aHierarchicalPropertyName</var> is not a well-formed
124 nested name for this hierarchy.
125 An implementation is not required to detect the latter condition.
127 @throws com::sun::star::lang::WrappedTargetException
128 if the implementation has an internal reason for the exception.
129 In this case the original exception is wrapped into that
130 <type scope="com::sun::star::lang">WrappedTargetException</type>.
132 @see XPropertySet::setPropertyValue
134 void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName,
135 [in] any aValue )
136 raises( com::sun::star::beans::UnknownPropertyException,
137 com::sun::star::beans::PropertyVetoException,
138 com::sun::star::lang::IllegalArgumentException,
139 com::sun::star::lang::WrappedTargetException );
141 //-------------------------------------------------------------------------
143 /** @returns
144 the value of the property with the specified nested name.
146 @param aHierarchicalPropertyName
147 This parameter specifies the name of the property.
149 @throws UnknownPropertyException
150 if the property does not exist.
152 @throws com::sun::star::uno::lang::IllegalArgumentException
153 if <var>aHierarchicalPropertyName</var> is not a well-formed
154 nested name for this hierarchy.
155 An implementation is not required to detect this
156 condition.
158 @throws com::sun::star::lang::WrappedTargetException
159 if the implementation has an internal reason for the exception.
160 In this case the original exception is wrapped into that
161 <type scope="com::sun::star::lang">WrappedTargetException</type>.
163 @see XPropertySet::getPropertyValue
165 any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName )
166 raises( com::sun::star::beans::UnknownPropertyException,
167 com::sun::star::lang::IllegalArgumentException,
168 com::sun::star::lang::WrappedTargetException );
170 //-------------------------------------------------------------------------
174 //=============================================================================
176 }; }; }; };
178 #endif