diff options
author | Juergen Schmidt <jsc@openoffice.org> | 2001-05-03 12:58:08 +0000 |
---|---|---|
committer | Juergen Schmidt <jsc@openoffice.org> | 2001-05-03 12:58:08 +0000 |
commit | 58f2e054b6bd2bc064de6ee2010a28aca826c8a2 (patch) | |
tree | 8a72d018dd9bf4312f9427b8f48532ad18a03b46 /udkapi/com/sun/star | |
parent | b0755d826e36bb9080e6d0565ab80cf497a0333b (diff) |
new
Diffstat (limited to 'udkapi/com/sun/star')
-rw-r--r-- | udkapi/com/sun/star/reflection/XIdlField2.idl | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/reflection/XIdlField2.idl b/udkapi/com/sun/star/reflection/XIdlField2.idl new file mode 100644 index 000000000..41e0536ff --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlField2.idl @@ -0,0 +1,207 @@ +/************************************************************************* + * + * $RCSfile: XIdlField2.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: jsc $ $Date: 2001-05-03 13:58:08 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef __com_sun_star_reflection_XIdlField2_idl__ +#define __com_sun_star_reflection_XIdlField2_idl__ + +#ifndef __com_sun_star_reflection_XIdlMember_idl__ +#include <com/sun/star/reflection/XIdlMember.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_reflection_FieldAccessMode_idl__ +#include <com/sun/star/reflection/FieldAccessMode.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalAccessException_idl__ +#include <com/sun/star/lang/IllegalAccessException.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module reflection { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::reflection::XIdlField2 +/** has the same functionallity as <type scope="com::sun::star::reflection">XIdlField</type>. + <p> + XIdlField2 correct a specification error of the + <method>com::sun::star::reflection::XIdlField::set</method> method. + The first parameter the object itself must be specified as an [inout] parameter. + </p> + <p> + This new interface must be implemented in all places where + <type scope="com::sun::star::reflection">XIdlField</type> is implemented. For a correct + working <method>XIdlField2::set</method> method in all use cases a queryInterface to + XIdlField2 is necessary. + </p> + */ +interface XIdlField2: com::sun::star::reflection::XIdlMember +{ + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::reflection::XIdlField2::getType + /** @returns + an <type>XIdlClass</type> object that identifies the declared + type for the field represented by this <type>XIdlField</type>. + */ + com::sun::star::reflection::XIdlClass getType(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::reflection::XIdlField2::getAccessMode + /** @returns + an enumeration value which denotes whether the field is + "const", "readonly", "writeonly" or "readwrite". + */ + com::sun::star::reflection::FieldAccessMode getAccessMode(); + + //------------------------------------------------------------------------- + + // DocMerge from idl: method com::sun::star::reflection::XIdlField2::get + /** @returns + the value of the field represented by this field on the specified object. + + <p>The underlying field's value is obtained as follows: + + <ul> + <li>If the underlying field is a constant, the + object argument is ignored; it may be NULL. + + <li>Otherwise, the underlying field is an instance + field. If the specified object argument is + NULL, the method throws an + "IllegalArgumentException". If the specified + object is not an instance of the class, + interface, struct, union or enum declaring + the underlying field, the method throws an + "IllegalArgumentException". + + <li>Otherwise, the value is retrieved from the + underlying instance or constant. + </ul> + + @throws IllegalArgumentException + if the specified object is <NULL/> and if the + specified object is not an instance of the class or + interface declaring the underlying field. + */ + any get( [in] any obj ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::reflection::XIdlField2::set + /** sets the field represented by this <type>XIdlField2</type> on the + specified object argument to the specified new value. + + <p>The operation proceeds as follows: + + </p> + <ul> + <li>If the specified object argument is NULL, the method + throws an <type scope="com::sun::star::lang">IllegalArgumentException</type>. If + the specified object argument is not an instance of + the class or interface declaring the underlying field, + then the method throws an + <type scope="com::sun::star::lang">IllegalArgumentException</type>. + + </li> + <li>If the underlying field is constant, the method throws an + <type scope="com::sun::star::lang">IllegalAccessException</type>. + + <p>If the new value cannot be converted to the type + of underlying field by an identity or widening + conversion, the method throws an + <type scope="com::sun::star::lang">IllegalArgumentException</type>. + </p> + </li> + </ul> + + <p>The field is set to the possibly widened new value. + + </p> + */ + void set( [inout] any obj, + [in] any value ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IllegalAccessException ); + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + + $Log: not supported by cvs2svn $ + +=============================================================================*/ +#endif |