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_XFastPropertySet_idl__
28#define __com_sun_star_beans_XFastPropertySet_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_UnknownPropertyException_idl__
35#include <com/sun/star/beans/UnknownPropertyException.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//=============================================================================
52
53module com {  module sun {  module star {  module beans {
54
55//=============================================================================
56
57/** provides a fast way of accessing and changing property values.
58
59	<p>This interface is an extension to the <type>XPropertySet</type>
60	interface. The get and set methods use handles to access the
61	property values instead of character strings.</p>
62 */
63published interface XFastPropertySet: com::sun::star::uno::XInterface
64{
65	//-------------------------------------------------------------------------
66
67	/** sets the value to the property with the specified name.
68
69		@param nHandle
70			contains the implementation handle of the
71			implementation for the property.
72
73		@param aValue
74			contains the new value of the property.
75
76		@throws UnknownPropertyException
77			if the property does not exist.
78
79		@throws PropertyVetoException
80			if a vetoable listener does not approve the change of
81			a property value.
82
83		@throws IllegalArgumentException
84			if the new value cannot be converted to the type of the
85			underlying property by an identity or widening conversion.
86
87		@throws  stardiv::uno::lang::WrappedTargetException
88			if the implementation has an internal reason for the exception.
89			In this case the original exception is wrapped into this
90			<type scope="com::sun::star::lang">WrappedTargetException</type>.
91
92	 */
93	void setFastPropertyValue( [in] long nHandle,
94			 [in] any aValue )
95			raises( com::sun::star::beans::UnknownPropertyException,
96					com::sun::star::beans::PropertyVetoException,
97					com::sun::star::lang::IllegalArgumentException,
98					com::sun::star::lang::WrappedTargetException );
99
100	//-------------------------------------------------------------------------
101
102	/** @returns
103			the value of the property with the name PropertyName.
104
105		@param nHandle
106			contains the implementation handle of the implementation for the property.
107
108		@throws UnknownPropertyException
109			if the property does not exist.
110
111		@throws  com::sun::star::lang::WrappedTargetException
112			if the implementation has an internal reason for the exception.
113			In this case the original exception is wrapped into that
114			<type scope="com::sun::star::lang">WrappedTargetException</type>.
115	 */
116	any getFastPropertyValue( [in] long nHandle )
117			raises( com::sun::star::beans::UnknownPropertyException,
118					com::sun::star::lang::WrappedTargetException );
119
120};
121
122//=============================================================================
123
124}; }; }; };
125
126#endif
127