df84c18f99
2008/03/31 16:17:29 rt 1.11.92.1: #i87441# Change license header to LPGL v3.
124 lines
5 KiB
Text
124 lines
5 KiB
Text
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: XIntrospection.idl,v $
|
|
* $Revision: 1.12 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org 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 version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
#ifndef __com_sun_star_beans_XIntrospection_idl__
|
|
#define __com_sun_star_beans_XIntrospection_idl__
|
|
|
|
#ifndef __com_sun_star_uno_XInterface_idl__
|
|
#include <com/sun/star/uno/XInterface.idl>
|
|
#endif
|
|
|
|
#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__
|
|
#include <com/sun/star/beans/XIntrospectionAccess.idl>
|
|
#endif
|
|
|
|
|
|
//=============================================================================
|
|
|
|
module com { module sun { module star { module beans {
|
|
|
|
//=============================================================================
|
|
|
|
// DocMerge from xml: interface com::sun::star::beans::XIntrospection
|
|
/** allows the inspection of an object's properties and methods.
|
|
|
|
<p><strong>Important note:</strong>An object can only be
|
|
inspected completely if it supports the <type scope=
|
|
"com::sun::star::lang">XTypeProvider</type> interface.</p>
|
|
|
|
<p>For details see method <member>XIntrospection::inspect</member>. </p>
|
|
|
|
@see XIntrospectionAccess
|
|
*/
|
|
published interface XIntrospection: com::sun::star::uno::XInterface
|
|
{
|
|
//-------------------------------------------------------------------------
|
|
|
|
// DocMerge from xml: method com::sun::star::beans::XIntrospection::inspect
|
|
/** inspects the given object.
|
|
|
|
<p>It identifies all properties supported by the object
|
|
if they are represented in one of the following ways: </p>
|
|
|
|
<dl>
|
|
<dt>property set </dt>
|
|
<dd>If the object supports an <type>XPropertySet</type>
|
|
interface, all its properties are adopted.
|
|
</dd>
|
|
|
|
<dt>attributes </dt>
|
|
<dd>All of an object's attributes are considered as properties
|
|
with same name. If an attribute is read-only, the property
|
|
also is read-only.
|
|
</dd>
|
|
|
|
<dt>get/set methods </dt>
|
|
<dd>Every method <code>RetType getX()</code> defines a
|
|
property where "X" stands for the property name and
|
|
"RetType" for its type. The method must not have any
|
|
parameters, or there is no property access method
|
|
and "X" has no property. If there is also a method
|
|
<code>void setX( [in] RetType )</code>, the property
|
|
"X" also allows write access; otherwise it is read-only.
|
|
</dd>
|
|
|
|
<dt> <strong>Important note:</strong></dt>
|
|
<dd>If an object implements <type scope="com::sun::star::container">XNameAccess</type>,
|
|
the items that can be accessed are not considered as properties
|
|
of the object and so are not included in the property list offered by
|
|
<member scope="com::sun::star::beans">XIntrospectionAccess::getProperties()</member>.
|
|
<type scope="com::sun::star::container">XNameAccess</type> items have to be
|
|
accessed separately by <member scope="com::sun::star::beans">XIntrospectionAccess::getNameAccess()</member>.
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>In addition, the inspect method identifies all listener
|
|
access methods in the form <code>add...Listener</code>/
|
|
<code>remove...Listener</code> (except methods of interface
|
|
<type>XPropertySet</type>) where "..." stands for the listener type.
|
|
</p>
|
|
|
|
<p>Methods which do not belong to a property nor which represent
|
|
a listener access nor which are methods of <type>XPropertySet</type>,
|
|
<type scope="com::sun::star::container">XNameAccess</type>,
|
|
<type scope="com::sun::star::container">XIndexAccess</type>, or
|
|
<type scope="com::sun::star::container">XEnumerationAccess</type>, are considered to be normal
|
|
methods. </p>
|
|
|
|
@see XIntrospectionAccess
|
|
*/
|
|
com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject );
|
|
|
|
};
|
|
|
|
//=============================================================================
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|