|
UDK 3.2.7 Java API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
com.sun.star.lib.uno.helper
Class PropertySetMixin
java.lang.Object com.sun.star.lib.uno.helper.PropertySetMixin
public final class PropertySetMixin
- extends Object
A helper mixin to implement certain UNO interfaces related to property set handling on top of the attributes of a given UNO interface type.
A client will mix in this class by keeping a reference to an instance of
this class, and forwarding all methods of (a subset of the interfaces)
com.sun.star.beans.XPropertySet
,
com.sun.star.beans.XFastPropertySet
, and
com.sun.star.beans.XPropertyAccess
to it.
Client code should not use the monitors associated with instances of this class, as they are used for internal purposes.
- Since:
- UDK 3.2
Nested Class Summary | |
---|---|
static class |
PropertySetMixin.BoundListeners
A class used by clients of PropertySetMixin when implementing UNO
interface type attribute setter functions. |
Constructor Summary | |
---|---|
PropertySetMixin(XComponentContext context,
XInterface object,
Type type,
String[] absentOptional)
The constructor. |
Method Summary | |
---|---|
void |
addPropertyChangeListener(String propertyName,
XPropertyChangeListener listener)
Implements com.sun.star.beans.XPropertySet.addPropertyChangeListener . |
void |
addVetoableChangeListener(String propertyName,
XVetoableChangeListener listener)
Implements com.sun.star.beans.XPropertySet.addVetoableChangeListener . |
void |
dispose()
Marks this instance as being disposed. |
Object |
getFastPropertyValue(int handle)
Implements com.sun.star.beans.XFastPropertySet.getFastPropertyValue . |
XPropertySetInfo |
getPropertySetInfo()
Implements com.sun.star.beans.XPropertySet.getPropertySetInfo . |
Object |
getPropertyValue(String propertyName)
Implements com.sun.star.beans.XPropertySet.getPropertyValue . |
PropertyValue[] |
getPropertyValues()
Implements com.sun.star.beans.XPropertyAccess.getPropertyValues . |
void |
prepareSet(String propertyName,
Object oldValue,
Object newValue,
PropertySetMixin.BoundListeners bound)
A method used by clients when implementing UNO interface type attribute setter functions. |
void |
prepareSet(String propertyName,
PropertySetMixin.BoundListeners bound)
A simplified version of prepareSet(String, Object, Object,
PropertySetMixin.BoundListeners) . |
void |
removePropertyChangeListener(String propertyName,
XPropertyChangeListener listener)
Implements
com.sun.star.beans.XPropertySet.removePropertyChangeListener . |
void |
removeVetoableChangeListener(String propertyName,
XVetoableChangeListener listener)
Implements
com.sun.star.beans.XPropertySet.removeVetoableChangeListener . |
void |
setFastPropertyValue(int handle,
Object value)
Implements com.sun.star.beans.XFastPropertySet.setFastPropertyValue . |
void |
setPropertyValue(String propertyName,
Object value)
Implements com.sun.star.beans.XPropertySet.setPropertyValue . |
void |
setPropertyValues(PropertyValue[] props)
Implements com.sun.star.beans.XPropertyAccess.setPropertyValues . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
PropertySetMixin
public PropertySetMixin(XComponentContext context, XInterface object, Type type, String[] absentOptional)
- The constructor.
- Parameters:
context
- the component context used by this instance; must not be null, and must supply the servicecom.sun.star.reflection.CoreReflection
and the singletoncom.sun.star.reflection.theTypeDescriptionManager
object
- the client UNO object into which this instance is mixed in; must not be null, and must support the giventype
type
- the UNO interface type whose attributes are mapped to properties; must not be null, and must represent a UNO interface typeabsentOptional
- a list of optional properties that are not present, and should thus not be visible viacom.sun.star.beans.XPropertySet.getPropertySetInfo
,com.sun.star.beans.XPropertySet.addPropertyChangeListener
,com.sun.star.beans.XPropertySet.removePropertyChangeListener
,com.sun.star.beans.XPropertySet.addVetoableChangeListener
, andcom.sun.star.beans.XPropertySet.removeVetoableChangeListener
; null is treated the same as an empty list; if non-null, the given array must not be modified after it is passed to this constructor. For consistency reasons, the givenabsentOptional
should only contain the names of attributes that represent optional properties that are not present (that is, the attribute getters and setters always throw acom.sun.star.beans.UnknownPropertyException
), and should contain each such name only once. If an optional property is not present (that is, the corresponding attribute getter and setter always throw acom.sun.star.beans.UnknownPropertyException
) but is not contained in the givenabsentOptional
, then it will be visible viacom.sun.star.beans.XPropertySet.getPropertySetInfo
as acom.sun.star.beans.Property
with a setcom.sun.star.beans.PropertyAttribute.OPTIONAL
. If the givenobject
does not implementcom.sun.star.beans.XPropertySet
, then the givenabsentOptional
is effectively ignored and can be null or empty.
Method Detail |
---|
prepareSet
public void prepareSet(String propertyName, Object oldValue, Object newValue, PropertySetMixin.BoundListeners bound) throws PropertyVetoException
- A method used by clients when implementing UNO interface type attribute
setter functions.
First, this method checks whether this instance has already been disposed (see
dispose()
), and throws acom.sun.star.beans.DisposedException
if applicable. For a constrained attribute (whose setter can explicitly raisecom.sun.star.beans.PropertyVetoException
), this method notifies anycom.sun.star.beans.XVetoableChangeListener
s. For a bound attribute, this method modifies the passed-inbound
so that it can afterwards be used to notify anycom.sun.star.beans.XPropertyChangeListener
s. This method should be called before storing the new attribute value, andbound.notifyListeners()
should be called exactly once after storing the new attribute value (in case the attribute is bound; otherwise, callingbound.notifyListeners()
is ignored). Furthermore,bound.notifyListeners()
and this method have to be called from the same thread.- Parameters:
propertyName
- the name of the property (which is the same as the name of the attribute that is going to be set)oldValue
- the property value corresponding to the old attribute value. This is only used ascom.sun.star.beans.PropertyChangeEvent.OldValue
, which is rather useless, anyway (see “Using the Observer Pattern” in OpenOffice.org Coding Guidelines). If the attribute that is going to be set is neither bound nor constrained, or ifcom.sun.star.beans.PropertyChangeEvent.OldValue
should not be set,Any.VOID
can be used instead.newValue
- the property value corresponding to the new attribute value. This is only used ascom.sun.star.beans.PropertyChangeEvent.NewValue
, which is rather useless, anyway (see “Using the Observer Pattern&rdquo: in OpenOffice.org Coding Guidelines), unless the attribute that is going to be set is constrained. If the attribute that is going to be set is neither bound nor constrained, or if it is only bound butcom.sun.star.beans.PropertyChangeEvent.NewValue
should not be set,Any.VOID
can be used instead.bound
- a reference to a freshPropertySetMixin.BoundListeners
instance (which has not been passed to this method before, and on whichPropertySetMixin.BoundListeners.notifyListeners()
has not yet been called); may only be null if the attribute that is going to be set is not bound- Throws:
PropertyVetoException
prepareSet
public void prepareSet(String propertyName, PropertySetMixin.BoundListeners bound)
- A simplified version of
prepareSet(String, Object, Object, PropertySetMixin.BoundListeners)
.This method is useful for attributes that are not constrained.
- Parameters:
propertyName
- the name of the property (which is the same as the name of the attribute that is going to be set)bound
- a reference to a freshPropertySetMixin.BoundListeners
instance (which has not been passed to this method before, and on whichPropertySetMixin.BoundListeners.notifyListeners()
has not yet been called); may only be null if the attribute that is going to be set is not bound
dispose
public void dispose()
- Marks this instance as being disposed.
See
com.sun.star.lang.XComponent
for the general concept of disposing UNO objects. On the first call to this method, all registered listeners (com.sun.star.beans.XPropertyChangeListener
s andcom.sun.star.beans.XVetoableChangeListener
s) are notified of the disposing source. Any subsequent calls to this method are ignored.
getPropertySetInfo
public XPropertySetInfo getPropertySetInfo()
- Implements
com.sun.star.beans.XPropertySet.getPropertySetInfo
.
setPropertyValue
public void setPropertyValue(String propertyName, Object value) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.setPropertyValue
.
getPropertyValue
public Object getPropertyValue(String propertyName) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.getPropertyValue
.
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, XPropertyChangeListener listener) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.addPropertyChangeListener
.If a listener is added more than once, it will receive all relevant notifications multiple times.
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, XPropertyChangeListener listener) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.removePropertyChangeListener
.
addVetoableChangeListener
public void addVetoableChangeListener(String propertyName, XVetoableChangeListener listener) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.addVetoableChangeListener
.If a listener is added more than once, it will receive all relevant notifications multiple times.
removeVetoableChangeListener
public void removeVetoableChangeListener(String propertyName, XVetoableChangeListener listener) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertySet.removeVetoableChangeListener
.
setFastPropertyValue
public void setFastPropertyValue(int handle, Object value) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException
- Implements
com.sun.star.beans.XFastPropertySet.setFastPropertyValue
.
getFastPropertyValue
public Object getFastPropertyValue(int handle) throws UnknownPropertyException, WrappedTargetException
- Implements
com.sun.star.beans.XFastPropertySet.getFastPropertyValue
.
getPropertyValues
public PropertyValue[] getPropertyValues()
- Implements
com.sun.star.beans.XPropertyAccess.getPropertyValues
.
setPropertyValues
public void setPropertyValues(PropertyValue[] props) throws UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException
- Implements
com.sun.star.beans.XPropertyAccess.setPropertyValues
.
|
UDK 3.2.7 Java API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |