1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XHierarchicalPropertySet.idl,v $
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
>
37 #ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
38 #include
<com
/sun
/star
/beans
/XHierarchicalPropertySetInfo.idl
>
41 #ifndef __com_sun_star_beans_UnknownPropertyException_idl__
42 #include
<com
/sun
/star
/beans
/UnknownPropertyException.idl
>
45 #ifndef __com_sun_star_beans_PropertyVetoException_idl__
46 #include
<com
/sun
/star
/beans
/PropertyVetoException.idl
>
49 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
50 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
53 #ifndef __com_sun_star_lang_WrappedTargetException_idl__
54 #include
<com
/sun
/star
/lang
/WrappedTargetException.idl
>
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,
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
92 the <type>XHierarchicalPropertySetInfo</type> interface,
93 which describes the property hierarchy of the object which
94 supplies this interface.
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.
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
,
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 //-------------------------------------------------------------------------
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
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 //=============================================================================