| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_beans_XPropertySet_idl__ |
| #define __com_sun_star_beans_XPropertySet_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XPropertySetInfo_idl__ |
| #include <com/sun/star/beans/XPropertySetInfo.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_UnknownPropertyException_idl__ |
| #include <com/sun/star/beans/UnknownPropertyException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_PropertyVetoException_idl__ |
| #include <com/sun/star/beans/PropertyVetoException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_WrappedTargetException_idl__ |
| #include <com/sun/star/lang/WrappedTargetException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XPropertyChangeListener_idl__ |
| #include <com/sun/star/beans/XPropertyChangeListener.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XVetoableChangeListener_idl__ |
| #include <com/sun/star/beans/XVetoableChangeListener.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module beans { |
| |
| //============================================================================= |
| |
| /** provides information about and access to the |
| properties from an implementation. |
| |
| <p>There are three types of properties: </p> |
| |
| <ul> |
| <li>bound properties </li> |
| <li>constrained properties </li> |
| <li>free properties </li> |
| </ul> |
| |
| <p>You can listen to changes of bound properties with the |
| <type>XPropertyChangeListener</type> and you can veto changes |
| of constrained properties with the <type>XVetoableChangeListener</type>. </p> |
| |
| <p>To implement inaccurate name access, you must support the |
| interface <type>XExactName</type>. </p> |
| |
| @see com::sun::star::beans::XExactName |
| */ |
| published interface XPropertySet: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| |
| /** @returns |
| the <type>XPropertySetInfo</type> interface, which |
| describes all properties of the object which supplies this |
| interface. |
| |
| @returns |
| <const>NULL</const> if the implementation cannot or will |
| not provide information about the properties; otherwise the |
| interface <type>XPropertySetInfo</type> is returned. |
| */ |
| com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the value of the property with the specified name. |
| |
| <p>If it is a bound property the value will be changed before |
| the change event is fired. If it is a constrained property |
| a vetoable event is fired before the property value can be |
| changed. </p> |
| |
| @throws com::sun::star::beans::PropertyVetoException |
| if the property is read-only or vetoable |
| and one of the listeners throws this exception |
| because of an unaccepted new value. |
| */ |
| void setPropertyValue( [in] string aPropertyName, |
| [in] any aValue ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::beans::PropertyVetoException, |
| com::sun::star::lang::IllegalArgumentException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** @returns |
| the value of the property with the specified name. |
| |
| @param PropertyName |
| This parameter specifies the name of the property. |
| |
| @throws UnknownPropertyException |
| if the property does not exist. |
| |
| @throws com::sun::star::lang::WrappedTargetException |
| if the implementation has an internal reason for the exception. |
| In this case the original exception is wrapped into that |
| <type scope="com::sun::star::lang">WrappedTargetException</type>. |
| */ |
| any getPropertyValue( [in] string PropertyName ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** adds an <type>XPropertyChangeListener</type> to the specified property. |
| |
| <p>An empty name ("") registers the listener to all bound |
| properties. If the property is not bound, the behavior is |
| not specified. </p> |
| |
| <p>It is suggested to allow multiple registration of the same listener, |
| thus for each time a listener is added, it has to be removed. |
| |
| @see removePropertyChangeListener |
| */ |
| void addPropertyChangeListener( [in] string aPropertyName, |
| [in] com::sun::star::beans::XPropertyChangeListener xListener ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** removes an <type>XPropertyChangeListener</type> from |
| the listener list. |
| |
| <p>It is a "noop" if the listener is not registered. </p> |
| |
| <p>It is suggested to allow multiple registration of the same listener, |
| thus for each time a listener is added, it has to be removed. |
| |
| @see addPropertyChangeListener |
| */ |
| void removePropertyChangeListener( [in] string aPropertyName, |
| [in] com::sun::star::beans::XPropertyChangeListener aListener ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** adds an <type>XVetoableChangeListener</type> to the specified |
| property with the name PropertyName. |
| |
| <p>An empty name ("") registers the listener to all |
| constrained properties. If the property is not constrained, |
| the behavior is not specified. </p> |
| |
| @see removeVetoableChangeListener |
| */ |
| void addVetoableChangeListener( [in] string PropertyName, |
| [in] com::sun::star::beans::XVetoableChangeListener aListener ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** removes an <type>XVetoableChangeListener</type> from the |
| listener list. |
| |
| <p>It is a "noop" if the listener is not registered. </p> |
| |
| @see addVetoableChangeListener |
| */ |
| void removeVetoableChangeListener( [in] string PropertyName, |
| [in] com::sun::star::beans::XVetoableChangeListener aListener ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::lang::WrappedTargetException ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |