1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef __com_sun_star_reflection_XIdlField2_idl__
28 #define __com_sun_star_reflection_XIdlField2_idl__
30 #ifndef __com_sun_star_reflection_XIdlMember_idl__
31 #include
<com
/sun
/star
/reflection
/XIdlMember.idl
>
34 #ifndef __com_sun_star_reflection_XIdlClass_idl__
35 #include
<com
/sun
/star
/reflection
/XIdlClass.idl
>
38 #ifndef __com_sun_star_reflection_FieldAccessMode_idl__
39 #include
<com
/sun
/star
/reflection
/FieldAccessMode.idl
>
42 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
43 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
46 #ifndef __com_sun_star_lang_IllegalAccessException_idl__
47 #include
<com
/sun
/star
/lang
/IllegalAccessException.idl
>
51 //=============================================================================
53 module com
{ module sun
{ module star
{ module reflection
{
55 //=============================================================================
57 /** Reflects an IDL interface attribute, enum or compound type
58 (i.e. struct/exception) member.
60 published
interface XIdlField2
: com
::sun
::star
::reflection
::XIdlMember
62 /** Returns the type of the field.
67 com
::sun
::star
::reflection
::XIdlClass getType
();
69 /** Returns the access mode of the field, i.e. read-write, read-only or
70 write-only (access mode "const" is deprecated).
73 access mode of the field
75 com
::sun
::star
::reflection
::FieldAccessMode getAccessMode
();
77 /** Gets the value of the reflected field from the given object,
78 i.e. an interface, enum or compound type (struct/exception).
79 For enums, the given object is ignored; the returned value
80 reflects the constant enum 32-bit value.
82 <p>When setting an interface attribute raises a
83 non-<type scope="com::sun::star::uno">RuntimeException</type>, it is
85 scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p>
88 object instance having member of reflected type
92 @throws IllegalAccessException
93 An <type scope="com::sun::star::lang">IllegalAccessException</type>
94 is thrown if the given object is no interface, enum or compound type;
95 or the given object does not have the reflected field.
99 raises
( com
::sun
::star
::lang
::IllegalArgumentException
);
101 /** Sets the value of the reflected field of the given object,
102 i.e. an interface or compound type (struct/exception).
104 <p>When setting an interface attribute raises a
105 non-<type scope="com::sun::star::uno">RuntimeException</type>, it is
107 scope="com::sun::star::lang">WrappedTargetRuntimeException</type>.</p>
110 object instance having member of reflected type
114 @throws IllegalAccessException
115 An <type scope="com::sun::star::lang">IllegalAccessException</type>
116 is thrown if the given object is no interface or compound type;
117 or the given object does not have the reflected field.
122 raises
( com
::sun
::star
::lang
::IllegalArgumentException
,
123 com
::sun
::star
::lang
::IllegalAccessException
);
126 //=============================================================================
130 /*=============================================================================
132 =============================================================================*/