Update git submodules
[LibreOffice.git] / udkapi / com / sun / star / reflection / XIdlField2.idl
blob22052e793852b36135014e01ac3f54c2f6842135
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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.
32 @return
33 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).
40 @return
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>
54 @param obj
55 object instance having member of reflected type
56 @return
57 value of field
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.
64 any get(
65 [in] any obj )
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>
75 @param obj
76 object instance having member of reflected type
77 @param value
78 value to be set
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.
85 void set(
86 [inout] any obj,
87 [in] any value )
88 raises( com::sun::star::lang::IllegalArgumentException,
89 com::sun::star::lang::IllegalAccessException );
93 }; }; }; };
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */