1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 module com
{ module sun
{ module star
{ module reflection
{
25 /** Reflects an IDL interface attribute, enum or compound type
26 (i.e. struct/exception) member.
28 published
interface XIdlField2
: com
::sun
::star
::reflection
::XIdlMember
30 /** Returns the type of the field.
35 com
::sun
::star
::reflection
::XIdlClass getType
();
37 /** Returns the access mode of the field, i.e. read-write, read-only or
38 write-only (access mode "const" is deprecated).
41 access mode of the field
43 com
::sun
::star
::reflection
::FieldAccessMode getAccessMode
();
45 /** Gets the value of the reflected field from the given object,
46 i.e. an interface, enum or compound type (struct/exception).
47 For enums, the given object is ignored; the returned value
48 reflects the constant enum 32-bit value.
50 <p>When setting an interface attribute raises a
51 non com::sun::star::uno::RuntimeException, it is
52 wrapped in a com::sun::star::lang::WrappedTargetRuntimeException.</p>
55 object instance having member of reflected type
59 @throws IllegalAccessException
60 A com::sun::star::lang::IllegalAccessException
61 is thrown if the given object is no interface, enum or compound type;
62 or the given object does not have the reflected field.
66 raises
( com
::sun
::star
::lang
::IllegalArgumentException
);
68 /** Sets the value of the reflected field of the given object,
69 i.e. an interface or compound type (struct/exception).
71 <p>When setting an interface attribute raises a
72 non com::sun::star::uno::RuntimeException, it is
73 wrapped in a com::sun::star::lang::WrappedTargetRuntimeException.</p>
76 object instance having member of reflected type
80 @throws IllegalAccessException
81 A com::sun::star::lang::IllegalAccessException
82 is thrown if the given object is no interface or compound type;
83 or the given object does not have the reflected field.
88 raises
( com
::sun
::star
::lang
::IllegalArgumentException
,
89 com
::sun
::star
::lang
::IllegalAccessException
);
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */