Java Doc for PresentationModel.java in  » Swing-Library » jgoodies-data-binding » com » jgoodies » binding » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Swing Library » jgoodies data binding » com.jgoodies.binding 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.jgoodies.binding.beans.Model
      com.jgoodies.binding.PresentationModel

PresentationModel
public class PresentationModel extends Model (Code)
The standard base class to implement the Presentation Model pattern, that represents the state and behavior of a presentation independently of the GUI components used in the interface. This pattern is described in Martin Fowler's upcoming addition to his "Patterns of Enterprise Application Architecture". More details around this implementation of the Presentation Model pattern and a 3-tier Swing client architecture with a presentation model layer can be found in the JGoodies Binding presentation. This architecture is supported by the JGoodies Binding library. The PresentationModel pattern is known to users of VisualWorks Smalltalk as ApplicationModel.

This class minimizes the effort required to bind, edit, buffer, and observe the bound properties of an exchangeable bean. Therefore it provides five groups of features that are described below:

  1. adapt bean properties,
  2. change the adapted bean,
  3. buffer values,
  4. observe the buffering state, and
  5. track changes in adapted bean properties.

Typically this class will be extended to add custom models, Actions, presentation logic, model operations and other higher-level behavior. However, in simple cases you can use this class as-is. Several methods are intended to be used as-is and a typical subclass should not modify them. For example #isChanged, #isBuffering, #getBean, #setBean, #getBeanChannel, #getModel, #getBufferedModel, #getTriggerChannel, #setTriggerChannel, #triggerCommit and #triggerFlush.

Adapting Bean Properties
The method PresentationModel.getModel(String) vends ValueModels that adapt a bound bean property of an exchangeable bean. These ValueModels will be requested from an underlying BeanAdapter. To get such a model you specify the name of the bean property. All properties adapted must be read-write and must comply with the Java Bean coding conventions. In case you need to adapt a read-only or write-only property, or if the bean uses custom names for the reader and writer, use PresentationModel.getModel(String,String,String) . Also note that you must not mix calls to these methods for the same property name. For details see the JavaDoc class comment in com.jgoodies.binding.beans.BeanAdapter .

Changing the Adapted Bean
The adapted bean is not stored in this PresentationModel. Instead it is held by a ValueModel, the bean channel - just as in the PropertyAdapter and BeanAdapter. This indirection enables you to manage the adapted bean outside of this PresentationModel, and it enables you to share bean channels between multiple PresentationModels, PropertyAdapters, and BeanAdapters. The bean channel is used by all adapting models created by the factory methods #getModel. You can get and set the current bean by means of #getBean and #setBean. Or you can set a new value to the bean channel.

PresentationModel fires three PropertyChangeEvents if the bean changes: beforeBean, bean and afterBean. This is useful when sharing a bean channel and you must perform an operation before or after other listeners handle a bean change. Since you cannot rely on the order listeners will be notified, only the beforeBean and afterBean events are guaranteed to be fired before and after the bean change is fired. Note that #getBean() returns the new bean before any of these three PropertyChangeEvents is fired. Therefore listeners that handle these events must use the event's old and new value to determine the old and new bean. The order of events fired during a bean change is:

  1. the bean channel fires a value change,
  2. this model fires a beforeBean change,
  3. this model fires the bean change,
  4. this model fires an afterBean change.
Buffering Values
At the core of this feature are the methods PresentationModel.getBufferedModel(String) that vend BufferedValueModels that wrap an adapted bean property. The buffer can be committed or flushed using #triggerCommit and #triggerFlush respectively.

The trigger channel is provided as a bound Java bean property triggerChannel that must be a non-null ValueModel with values of type Boolean. Attempts to read or write other value types may be rejected with runtime exceptions. By default the trigger channel is initialized as an instance of Trigger. As an alternative it can be set in the constructor.

Observing the Buffering State
This class also provides support for observing the buffering state of the BufferedValueModels created with this model. The buffering state is useful for UI actions and operations that are enabled or disabled if there are pending changes, for example on OK or APPLY button. API users can request the buffering state via #isBuffering and can observe the bound property buffering.

Tracking Changes in the Adapted Bean
PresentationModel provides support for observing bean property changes and it tracks all changes to report the overall changed state. The latter is useful to detect whether the bean has changed at all, for example to mark the bean as dirty, so it will be updated in a database. API users can request the changed state via #isChanged and can observe the bound property changed. If you want to track changes of other ValueModels, bean properties, or of submodels, register them using #observeChanged. To reset the changed state invoke #resetChanged. In case you track the changed state of submodels you should override #resetChanged to reset the changed state in these submodels.

The changed state changes once only (from false to true). If you need instant notifications about changes in the properties of the target bean, you can register PropertyChangeListeners with this model. This is useful if you change the bean and don't want to move your listeners from one bean to the other. And it's useful if you want to observe multiple bean properties at the same time. These listeners are managed by the method set #addBeanPropertyChangeListener and #removeBeanPropertyChangeListener. Listeners registered via these methods will be removed from the old bean before the bean changes and will be re-added after the new bean has been set. Therefore these listeners will be notified about changes only if the current bean changes a property. They won't be notified if the bean changes - and in turn the property value. If you want to observes property changes caused by bean changes too, register with the adapting ValueModel as returned by #getModel(String).

Instance Creation
PresentationModel can be instantiated using four different constructors: you can specify the target bean directly, or you can provide a bean channel to access the bean indirectly. In the latter case you specify a ValueModel that holds the bean that in turn holds the adapted property. In both cases the target bean is accessed indirectly through the bean channel. In both cases you can specify a custom trigger channel, or you can use a default trigger channel.

Note: This PresentationModel provides bound bean properties and you can register and unregister PropertyChangeListers as usual using #addPropertyChangeListener and #removePropertyChangeListener. Do not mix up the model listeners with the listeners registered with the bean.

Warning: PresentationModels register a PropertyChangeListener with the target bean. Hence, a bean has a reference to all PresentationModels that hold it as target bean. To avoid memory leaks it is recommended to remove this listener if the bean lives much longer than the PresentationModel, enabling the garbage collector to remove the PresentationModel. Setting a PresentationModel's target bean to null removes this listener, which in turn clears the reference from the bean to the PresentationModel. To do so, you can call setBean(null) or set the bean channel's value to null. As an alternative you can use event listener lists in your beans that implement references with WeakReference. Setting the bean to null has side effects, which is fine in most cases. However, you can release all listeners by calling #release.

TODO: Further improve the class comment.

TODO: Consider adding a feature to ensure that update notifications are performed in the event dispatch thread. In case the adapted bean is changed in a thread other than the event dispatch thread, such a feature would help complying with Swing's single thread rule. The feature could be implemented by an extended PropertyChangeSupport.

TODO: I plan to improve the support for adapting beans that do not fire PropertyChangeEvents. This affects the classes PropertyAdapter, BeanAdapter, and PresentationModel. Basically the PropertyAdapter and the BeanAdapter's internal SimplePropertyAdapter's shall be able to optionally self-fire a PropertyChangeEvent in case the bean does not. There are several downsides with self-firing events compared to bound bean properties. See Issue 49 for more information about the downsides.

The observeChanges constructor parameter shall be replaced by a more fine-grained choice to not observe (former observeChanges=false), to observe bound properties (former observeChanges=true), and a new setting for self-firing PropertyChangeEvents if a value is set. The latter case may be further split up to specify how the self-fired PropertyChangeEvent is created:

  1. oldValue=null, newValue=null
  2. oldValue=null, newValue=the value set
  3. oldValue=value read before the set, newValue=the value set
  4. oldValue=value read before the set, newValue=value read after the set

author:
   Karsten Lentzsch
version:
   $Revision: 1.17 $
See Also:   com.jgoodies.binding.beans.BeanAdapter
See Also:   com.jgoodies.binding.value.ValueModel
See Also:   com.jgoodies.binding.beans.PropertyAdapter
See Also:   com.jgoodies.binding.value.Trigger<
Parameters:
  B - > the type of the bean managed by this PresentationModel


Field Summary
final public static  StringPROPERTYNAME_AFTER_BEAN
     The property name used in the PropertyChangeEvent that is fired after the bean property fires its PropertyChangeEvent. Useful to perform an operation after listeners that handle the bean change are notified.
final public static  StringPROPERTYNAME_BEAN
     The name of the read-write bound property that holds the target bean.
final public static  StringPROPERTYNAME_BEFORE_BEAN
     The property name used in the PropertyChangeEvent that is fired before the bean property fires its PropertyChangeEvent. Useful to perform an operation before listeners that handle the bean change are notified.
final public static  StringPROPERTYNAME_BUFFERING
     The name of the read-only bound bean property that indicates whether one of the buffered models is buffering.
final public static  StringPROPERTYNAME_CHANGED
     The name of the read-only bound bean property that indicates whether one of the observed models has changed.
final public static  StringPROPERTYNAME_TRIGGERCHANNEL
     The name of the read-write bound bean property for the trigger channel that is shared by all PropertyAdapters that are created via #getBufferedModel.

Constructor Summary
public  PresentationModel(Object bean)
     Constructs a PresentationModel that adapts properties of the given bean.

Installs a default bean channel that checks the identity not equity to ensure that listeners are unregistered properly if the old and new bean are equal but not the same.

Installs a Trigger as initial trigger channel.

public  PresentationModel(Object bean, ValueModel triggerChannel)
     Constructs a PresentationModel on the given bean using the given trigger channel.
public  PresentationModel(ValueModel beanChannel)
     Constructs a PresentationModel on the given bean channel.
public  PresentationModel(ValueModel beanChannel, ValueModel triggerChannel)
     Constructs a PresentationModel on the given bean channel using the given trigger channel.

Method Summary
public synchronized  voidaddBeanPropertyChangeListener(PropertyChangeListener listener)
     Adds a PropertyChangeListener to the list of bean listeners.
public synchronized  voidaddBeanPropertyChangeListener(String propertyName, PropertyChangeListener listener)
     Adds a PropertyChangeListener to the list of bean listeners for a specific property.
public  voidafterBeanChange(B oldBean, B newBean)
     The underlying BeanAdapter has changed the target bean. Allows to perform actions after the bean changed. For example you can re-add listeners that were removed in #beforeBeanChange.
public  voidbeforeBeanChange(B oldBean, B newBean)
     The underlying BeanAdapter is about to change the bean.
protected  BeanAdapter<B>createBeanAdapter(ValueModel beanChannel)
     Creates and returns a BeanAdapter for the given bean channel. For compatibility with the 1.0.x, 1.1.x, and 1.2.x series, this default implementation creates a BeanAdapter that always observes the bean.
public  BgetBean()
     Returns the bean that holds the adapted properties.
public  ValueModelgetBeanChannel()
     Returns the ValueModel that holds the bean that in turn holds the adapted properties.
public synchronized  PropertyChangeListener[]getBeanPropertyChangeListeners()
     Returns an array of all the property change listeners registered on this component.
public synchronized  PropertyChangeListener[]getBeanPropertyChangeListeners(String propertyName)
     Returns an array of all the listeners which have been associated with the named property.
public  ComponentValueModelgetBufferedComponentModel(String propertyName)
     Looks up or creates a buffered component adapter to the read-write property with the given name on this PresentationModel's bean channel. Creates a ComponentValueModel that wraps a BufferedValueModel that in turn wraps a ValueModel that adapts the bean property with the specified name.
public  BufferedValueModelgetBufferedModel(String propertyName)
     Looks up or creates a buffered adapter to the read-write property with the given name on this PresentationModel's bean channel.
public  BufferedValueModelgetBufferedModel(String propertyName, String getterName, String setterName)
     Looks up or creates a buffered adapter to the read-write property with the given name on this PresentationModel's bean channel using the specified getter and setter name to read and write values.
public  ObjectgetBufferedValue(String propertyName)
     Returns the value of specified buffered bean property.
public  ComponentValueModelgetComponentModel(String propertyName)
     Looks up and lazily creates a ComponentValueModel that adapts the bound property with the specified name.
public  AbstractValueModelgetModel(String propertyName)
     Looks up and lazily creates a ValueModel that adapts the bound property with the specified name.
public  AbstractValueModelgetModel(String propertyName, String getterName, String setterName)
     Looks up and lazily creates a ValueModel that adapts the bound property with the given name.
public  ValueModelgetTriggerChannel()
     Returns a ValueModel that can be shared and used to trigger commit and flush events in BufferedValueModels.
public  ObjectgetValue(String propertyName)
     Returns the value of specified bean property, null if the current bean is null.

This operation is supported only for readable bean properties.

public  booleanisBuffering()
     Answers whether any of the buffered models is buffering.
public  booleanisChanged()
     Answers whether one of the registered ValueModels has changed since the changed state has been reset last time.

Note: Unlike #resetChanged this method is not intended to be overridden by subclasses.

public  voidobserveChanged(Object bean, String propertyName)
     Observes the specified readable bound bean property in the given bean.
public  voidobserveChanged(ValueModel valueModel)
     Observes value changes in the given ValueModel.
public  voidrelease()
     Removes the PropertyChangeHandler from the observed bean, if the bean is not null. Also removes all listeners from the bean that have been registered with #addBeanPropertyChangeListener before.

PresentationModels have a PropertyChangeListener registered with the target bean.

public synchronized  voidremoveBeanPropertyChangeListener(PropertyChangeListener listener)
     Removes a PropertyChangeListener from the list of bean listeners.
public synchronized  voidremoveBeanPropertyChangeListener(String propertyName, PropertyChangeListener listener)
     Removes a PropertyChangeListener from the listener list for a specific property.
public  voidresetChanged()
     Resets this model's changed state to false. Therefore it resets the changed states of the change tracker and the underlying bean adapter.

Subclasses may override this method to reset the changed state of submodels.

public  voidretractInterestFor(Object bean, String propertyName)
     Retracts interest for the specified readable bound bean property in the given bean.
public  voidretractInterestFor(ValueModel valueModel)
     Retracts interest for value changes in the given ValueModel.
public  voidsetBean(B newBean)
     Sets a new bean as content of the bean channel.
public  voidsetBufferedValue(String propertyName, Object newValue)
     Buffers the given value for the specified bean property.
protected  voidsetChanged(boolean newValue)
    
public  voidsetTriggerChannel(ValueModel newTriggerChannel)
     Sets the given ValueModel as this model's new trigger channel.
public  voidsetValue(String propertyName, Object newValue)
     Sets the given new value for the specified bean property.
public  voidsetVetoableValue(String propertyName, Object newValue)
     Sets a new value for the specified bean property.
public  voidtriggerCommit()
     Sets the trigger channel to true which in turn triggers commit events in all BufferedValueModels that share this trigger.
public  voidtriggerFlush()
     Sets the trigger channel to false which in turn triggers flush events in all BufferedValueModels that share this trigger.

Field Detail
PROPERTYNAME_AFTER_BEAN
final public static String PROPERTYNAME_AFTER_BEAN(Code)
The property name used in the PropertyChangeEvent that is fired after the bean property fires its PropertyChangeEvent. Useful to perform an operation after listeners that handle the bean change are notified. See also the class comment.



PROPERTYNAME_BEAN
final public static String PROPERTYNAME_BEAN(Code)
The name of the read-write bound property that holds the target bean.
See Also:   PresentationModel.getBean()
See Also:   PresentationModel.setBean(Object)



PROPERTYNAME_BEFORE_BEAN
final public static String PROPERTYNAME_BEFORE_BEAN(Code)
The property name used in the PropertyChangeEvent that is fired before the bean property fires its PropertyChangeEvent. Useful to perform an operation before listeners that handle the bean change are notified. See also the class comment.



PROPERTYNAME_BUFFERING
final public static String PROPERTYNAME_BUFFERING(Code)
The name of the read-only bound bean property that indicates whether one of the buffered models is buffering.
See Also:   PresentationModel.isBuffering()
See Also:   PresentationModel.getBufferedModel(String)



PROPERTYNAME_CHANGED
final public static String PROPERTYNAME_CHANGED(Code)
The name of the read-only bound bean property that indicates whether one of the observed models has changed.
See Also:   PresentationModel.isChanged()
See Also:   PresentationModel.resetChanged()
See Also:   PresentationModel.observeChanged(ValueModel)
See Also:   PresentationModel.observeChanged(Object,String)



PROPERTYNAME_TRIGGERCHANNEL
final public static String PROPERTYNAME_TRIGGERCHANNEL(Code)
The name of the read-write bound bean property for the trigger channel that is shared by all PropertyAdapters that are created via #getBufferedModel.
See Also:   PresentationModel.getTriggerChannel()
See Also:   PresentationModel.setTriggerChannel(ValueModel)
See Also:   PresentationModel.getBufferedModel(String)




Constructor Detail
PresentationModel
public PresentationModel(Object bean)(Code)
Constructs a PresentationModel that adapts properties of the given bean.

Installs a default bean channel that checks the identity not equity to ensure that listeners are unregistered properly if the old and new bean are equal but not the same.

Installs a Trigger as initial trigger channel.
Parameters:
  bean - the bean that holds the properties to adapt
throws:
  PropertyUnboundException - if the bean does notprovide a pair of methods to register a PropertyChangeListener




PresentationModel
public PresentationModel(Object bean, ValueModel triggerChannel)(Code)
Constructs a PresentationModel on the given bean using the given trigger channel. The bean provides the properties to adapt.

Installs a default bean channel that checks the identity not equity to ensure that listeners are unregistered properly if the old and new bean are equal but not the same.

The trigger channel is shared by all buffered models that are created using #getBufferedModel. It can be replaced by any other Boolean ValueModel later. Note that PresentationModel observes trigger value changes, not value state. Therefore you must ensure that customer triggers report value changes when asked to commit or flush. See the Trigger implementation for an example.
Parameters:
  bean - the bean that holds the properties to adapt
Parameters:
  triggerChannel - the ValueModel that triggers commit and flush events




PresentationModel
public PresentationModel(ValueModel beanChannel)(Code)
Constructs a PresentationModel on the given bean channel. This channel holds a bean that in turn holds the properties to adapt.

It is strongly recommended that the bean channel checks the identity not equity. This ensures that listeners are unregistered properly if the old and new bean are equal but not the same.

The trigger channel is initialized as a Trigger. It may be replaced by any other Boolean ValueModel later. Note that PresentationModel observes trigger value changes, not value state. Therefore you must ensure that customer triggers report value changes when asked to commit or flush. See the Trigger implementation for an example.
Parameters:
  beanChannel - the ValueModel that holds the bean
throws:
  PropertyUnboundException - if the bean does notprovide a pair of methods to register a PropertyChangeListener




PresentationModel
public PresentationModel(ValueModel beanChannel, ValueModel triggerChannel)(Code)
Constructs a PresentationModel on the given bean channel using the given trigger channel. The bean channel holds a bean that in turn holds the properties to adapt.

It is strongly recommended that the bean channel checks the identity not equity. This ensures that listeners are unregistered properly if the old and new bean are equal but not the same.

The trigger channel is shared by all buffered models that are created using #buffer. It can be replaced by any other Boolean ValueModel later. Note that PresentationModel observes trigger value changes, not value state. Therefore you must ensure that customer triggers report value changes when asked to commit or flush. See the Trigger implementation for an example.
Parameters:
  beanChannel - the ValueModel that holds the bean
Parameters:
  triggerChannel - the ValueModel that triggers commit and flush events





Method Detail
addBeanPropertyChangeListener
public synchronized void addBeanPropertyChangeListener(PropertyChangeListener listener)(Code)
Adds a PropertyChangeListener to the list of bean listeners. The listener is registered for all bound properties of the target bean.

The listener will be notified if and only if this BeanAdapter's current bean changes a property. It'll not be notified if the bean changes.

If listener is null, no exception is thrown and no action is performed.
Parameters:
  listener - the PropertyChangeListener to be added
See Also:   PresentationModel.removeBeanPropertyChangeListener(PropertyChangeListener)
See Also:   PresentationModel.removeBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.addBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners()




addBeanPropertyChangeListener
public synchronized void addBeanPropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)
Adds a PropertyChangeListener to the list of bean listeners for a specific property. The specified property may be user-defined.

The listener will be notified if and only if this BeanAdapter's current bean changes the specified property. It'll not be notified if the bean changes. If you want to observe property changes and bean changes, you may observe the ValueModel that adapts this property - as returned by #getModel(String).

Note that if the bean is inheriting a bound property, then no event will be fired in response to a change in the inherited property.

If listener is null, no exception is thrown and no action is performed.
Parameters:
  propertyName - one of the property names listed above
Parameters:
  listener - the PropertyChangeListener to be added
See Also:   PresentationModel.removeBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.addBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners(String)




afterBeanChange
public void afterBeanChange(B oldBean, B newBean)(Code)
The underlying BeanAdapter has changed the target bean. Allows to perform actions after the bean changed. For example you can re-add listeners that were removed in #beforeBeanChange. Or you can reset values, reset custom changed state, set fields to null etc.

The default behavior resets the change tracker's changed state and fires a PropertyChangeEvent for the property #PROPERTYNAME_AFTER_BEAN. Note: Subclasses that override this method must invoke super or perform the same behavior.

This method is invoked by the BeanChangeHandler listening to the afterBean non-readable property of the BeanAdapter.
Parameters:
  oldBean - the bean that was adapted before the change
Parameters:
  newBean - the bean that is already the new target bean
See Also:   PresentationModel.beforeBeanChange(Object,Object)
See Also:   PresentationModel.PROPERTYNAME_BEFORE_BEAN
See Also:   PresentationModel.PROPERTYNAME_BEAN
See Also:   PresentationModel.PROPERTYNAME_AFTER_BEAN
See Also:   BeanAdapter




beforeBeanChange
public void beforeBeanChange(B oldBean, B newBean)(Code)
The underlying BeanAdapter is about to change the bean. Allows to perform actions before the bean change happens. For example you can remove listeners that shall not be notified if adapted properties change just because of the bean change. Or you can reset values, set fields to null etc.

The default behavior fires a PropertyChangeEvent for property #PROPERTYNAME_BEFORE_BEAN. Note: Subclasses that override this method must invoke super or perform the same behavior.

This method is invoked by the BeanChangeHandler listening to the beforeBean non-readable property of the BeanAdapter.
Parameters:
  oldBean - the bean before the change
Parameters:
  newBean - the bean that will be adapted after the change
See Also:   PresentationModel.afterBeanChange(Object,Object)
See Also:   PresentationModel.PROPERTYNAME_BEFORE_BEAN
See Also:   PresentationModel.PROPERTYNAME_BEAN
See Also:   PresentationModel.PROPERTYNAME_AFTER_BEAN
See Also:   BeanAdapter




createBeanAdapter
protected BeanAdapter<B> createBeanAdapter(ValueModel beanChannel)(Code)
Creates and returns a BeanAdapter for the given bean channel. For compatibility with the 1.0.x, 1.1.x, and 1.2.x series, this default implementation creates a BeanAdapter that always observes the bean. Subclasses may override to observe only observable beans.

Here's an example code for a custom implementation:

 boolean observe =
 (beanChannel == null)
 || (beanChannel.getValue() == null)
 || BeanUtils.supportsBoundProperties((beanChannel.getValue().getClass());
 return new BeanAdapter(beanChannel, observe);
 

A future implementation shall return a BeanAdapter-like interface, not a BeanAdapter.
Parameters:
  beanChannel - the ValueModel that holds the bean the created bean adapter
since:
   1.3




getBean
public B getBean()(Code)
Returns the bean that holds the adapted properties. This bean is the bean channel's content. the bean that holds the adapted properties
See Also:   PresentationModel.setBean(Object)
See Also:   PresentationModel.getBeanChannel()



getBeanChannel
public ValueModel getBeanChannel()(Code)
Returns the ValueModel that holds the bean that in turn holds the adapted properties. This bean channel is shared by the PropertyAdapters created by the factory methods #getModel and #getBufferedModel. the ValueModel that holds the bean that in turnholds the adapted properties
See Also:   PresentationModel.getBean()
See Also:   PresentationModel.setBean(Object)



getBeanPropertyChangeListeners
public synchronized PropertyChangeListener[] getBeanPropertyChangeListeners()(Code)
Returns an array of all the property change listeners registered on this component. all of this component's PropertyChangeListenersor an empty array if no property changelisteners are currently registered
See Also:   PresentationModel.addBeanPropertyChangeListener(PropertyChangeListener)
See Also:   PresentationModel.removeBeanPropertyChangeListener(PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners(String)
See Also:   java.beans.PropertyChangeSupport.getPropertyChangeListeners



getBeanPropertyChangeListeners
public synchronized PropertyChangeListener[] getBeanPropertyChangeListeners(String propertyName)(Code)
Returns an array of all the listeners which have been associated with the named property.
Parameters:
  propertyName - the name of the property to lookup listeners all of the PropertyChangeListeners associated withthe named property or an empty array if no listeners havebeen added
See Also:   PresentationModel.addBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.removeBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners()



getBufferedComponentModel
public ComponentValueModel getBufferedComponentModel(String propertyName)(Code)
Looks up or creates a buffered component adapter to the read-write property with the given name on this PresentationModel's bean channel. Creates a ComponentValueModel that wraps a BufferedValueModel that in turn wraps a ValueModel that adapts the bean property with the specified name. The buffered model uses this PresentationModel's trigger channel to listen for commit and flush events. The ComponentValueModel allows to set component state in this presentation model.

The created ComponentValueModel is stored in a Map. Hence subsequent calls to this method with the same property name return the same ComponentValueModel.

To prevent potential runtime errors this method eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getBufferedModel(String, String, String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method you must not call #getBufferedModel(String, String, String) with a non-null getter or setter name. And vice versa, once you've called the latter method with a non-null getter or setter name, you must not call this method.
Parameters:
  propertyName - the name of the read-write property to adapt a ComponentValueModel that wraps a buffered adapterto the property with the given nameon this model's bean channel using this model's trigger channel
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if #getBufferedModel(String, String, String) has beencalled before with the same property name and a non-null getteror setter name
See Also:   ComponentValueModel
See Also:   BufferedValueModel
See Also:   ValueModel
See Also:   Trigger
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String)
See Also:   PresentationModel.getBufferedModel(String)
See Also:   PresentationModel.getComponentModel(String)
See Also:   Bindings.addComponentPropertyHandler(JComponentValueModel)
since:
   1.1




getBufferedModel
public BufferedValueModel getBufferedModel(String propertyName)(Code)
Looks up or creates a buffered adapter to the read-write property with the given name on this PresentationModel's bean channel. Creates a BufferedValueModel that wraps a ValueModel that adapts the bean property with the specified name. The buffered model uses this PresentationModel's trigger channel to listen for commit and flush events.

The created BufferedValueModel is stored in a Map. Hence subsequent calls to this method with the same property name return the same BufferedValueModel.

To prevent potential runtime errors this method eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getBufferedModel(String, String, String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method you must not call #getBufferedModel(String, String, String) with a non-null getter or setter name. And vice versa, once you've called the latter method with a non-null getter or setter name, you must not call this method.
Parameters:
  propertyName - the name of the read-write property to adapt a buffered adapter to the property with the given nameon this model's bean channel using this model's trigger channel
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if #getBufferedModel(String, String, String) has beencalled before with the same property name and a non-null getteror setter name
See Also:   BufferedValueModel
See Also:   ValueModel
See Also:   Trigger
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String)
See Also:   PresentationModel.getBufferedModel(String,String,String)




getBufferedModel
public BufferedValueModel getBufferedModel(String propertyName, String getterName, String setterName)(Code)
Looks up or creates a buffered adapter to the read-write property with the given name on this PresentationModel's bean channel using the specified getter and setter name to read and write values. Creates a BufferedValueModel that wraps a ValueModel that adapts the bean property with the specified name. The buffered model uses this PresentationModel's trigger channel to listen for commit and flush events.

The created BufferedValueModel is stored in a Map so it can be looked up if it is requested multiple times.

To prevent potential runtime errors this method eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getBufferedModel(String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method with a non-null getter or setter name, you must not call #getBufferedModel(String). And vice versa, once you've called the latter method you must not call this method with a non-null getter or setter name.
Parameters:
  propertyName - the name of the property to adapt
Parameters:
  getterName - the name of the method that reads the value
Parameters:
  setterName - the name of the method that sets the value a buffered adapter to the property with the given nameon this model's bean channel using this model's trigger channel
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if this method has been called beforewith the same property name and different getter or setter names
See Also:   BufferedValueModel
See Also:   ValueModel
See Also:   Trigger
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String)
See Also:   PresentationModel.getBufferedModel(String)




getBufferedValue
public Object getBufferedValue(String propertyName)(Code)
Returns the value of specified buffered bean property. It is a shorthand for writing
getBufferedModel(propertyName).getValue()
As a side-effect, this method may create a buffered model.
Parameters:
  propertyName - the name of the property to be read the value of the adapted bean property, null if the bean is null
throws:
  NullPointerException - if the property name is null
throws:
  UnsupportedOperationException - if the property is write-only
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  PropertyAccessException - if the value could not be read
since:
   1.1



getComponentModel
public ComponentValueModel getComponentModel(String propertyName)(Code)
Looks up and lazily creates a ComponentValueModel that adapts the bound property with the specified name. Uses the standard Bean introspection to look up the getter and setter names.

Subsequent calls to this method with the same property name return the same ComponentValueModel.

To prevent potential runtime errors it eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getModel(String, String, String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method you must not call #getModel(String, String, String) with a non-null getter or setter name. And vice versa, once you've called the latter method with a non-null getter or setter name, you must not call this method.

This returned ComponentValueModel provides convenience type converter method from AbstractValueModel and allows to modify GUI state such as enabled, visible, and editable in this presentation model. This can significantly shrink the source code necessary to handle GUI state changes.
Parameters:
  propertyName - the name of the property to adapt a ValueModel that adapts the property with the specified name
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if #getModel(String, String, String) has beencalled before with the same property name and a non-null getteror setter name
See Also:   ComponentValueModel
See Also:   AbstractValueModel
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String,String,String)
See Also:   PresentationModel.getBufferedModel(String)
See Also:   Bindings.addComponentPropertyHandler(JComponentValueModel)
since:
   1.1




getModel
public AbstractValueModel getModel(String propertyName)(Code)
Looks up and lazily creates a ValueModel that adapts the bound property with the specified name. Uses the Bean introspection to look up the getter and setter names.

Subsequent calls to this method with the same property name return the same ValueModel.

To prevent potential runtime errors it eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getModel(String, String, String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method you must not call #getModel(String, String, String) with a non-null getter or setter name. And vice versa, once you've called the latter method with a non-null getter or setter name, you must not call this method.

This method uses a return type of AbstractValueModel, not a ValueModel. This makes the AbstractValueModel convenience type converters available, which can significantly shrink the source code necessary to read and write values from/to these models.
Parameters:
  propertyName - the name of the property to adapt a ValueModel that adapts the property with the specified name
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if #getModel(String, String, String) has beencalled before with the same property name and a non-null getteror setter name
See Also:   AbstractValueModel
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String,String,String)
See Also:   PresentationModel.getBufferedModel(String)




getModel
public AbstractValueModel getModel(String propertyName, String getterName, String setterName)(Code)
Looks up and lazily creates a ValueModel that adapts the bound property with the given name. Unlike #getModel(String) this method bypasses the Bean Introspection and uses the given getter and setter names to setup the access to the adapted Bean property.

Subsequent calls to this method with the same parameters will return the same ValueModel.

To prevent potential runtime errors this method eagerly looks up the associated PropertyDescriptor if the target bean is not null.

For each property name all calls to this method and to #getModel(String) must use the same getter and setter names. Attempts to violate this constraint will be rejected with an IllegalArgumentException. Especially once you've called this method with a non-null getter or setter name, you must not call #getModel(String). And vice versa, once you've called the latter method you must not call this method with a non-null getter or setter name.

This method uses a return type of AbstractValueModel, not a ValueModel. This makes the AbstractValueModel convenience type converters available, which can significantly shrink the source code necessary to read and write values from/to these models.
Parameters:
  propertyName - the name of the property to adapt
Parameters:
  getterName - the name of the method that reads the value
Parameters:
  setterName - the name of the method that sets the value a ValueModel that adapts the property with the specified name
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  IllegalArgumentException - if this method has been called beforewith the same property name and different getter or setter names
See Also:   AbstractValueModel
See Also:   BeanAdapter
See Also:   PresentationModel.getModel(String,String,String)
See Also:   PresentationModel.getBufferedModel(String)




getTriggerChannel
public ValueModel getTriggerChannel()(Code)
Returns a ValueModel that can be shared and used to trigger commit and flush events in BufferedValueModels. The trigger channel's value changes to true in #triggerCommit and it changes to false in #triggerFlush.

This trigger channel is used to commit and flush values in the BufferedValueModels returned by #getBufferedModel. this model's trigger channel
See Also:   BufferedValueModel
See Also:   ValueModel
See Also:   PresentationModel.setTriggerChannel(ValueModel)




getValue
public Object getValue(String propertyName)(Code)
Returns the value of specified bean property, null if the current bean is null.

This operation is supported only for readable bean properties.
Parameters:
  propertyName - the name of the property to be read the value of the adapted bean property, null if the bean is null
throws:
  NullPointerException - if the property name is null
throws:
  UnsupportedOperationException - if the property is write-only
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  PropertyAccessException - if the value could not be read
since:
   1.1




isBuffering
public boolean isBuffering()(Code)
Answers whether any of the buffered models is buffering. Useful to enable and disable UI actions and operations that depend on the buffering state. true if any of the buffered models is buffering,false, if all buffered models write-through



isChanged
public boolean isChanged()(Code)
Answers whether one of the registered ValueModels has changed since the changed state has been reset last time.

Note: Unlike #resetChanged this method is not intended to be overridden by subclasses. If you want to track changes of other ValueModels, bean properties, or of submodels, register them by means of #observeChanged. Overriding #isChanged to include the changed state of submodels would return the correct changed value, but it would bypass the change notification from submodels to this model. Therefore submodels must be observed, which can be achieve using #observeChanged.

To reset the changed state invoke #resetChanged. In case you track the changed state of submodels override #resetChanged to reset the changed state in these submodels too. true if an observed property has changed since the last reset
See Also:   PresentationModel.observeChanged(ValueModel)
See Also:   PresentationModel.observeChanged(Object,String)
See Also:   PresentationModel.resetChanged()




observeChanged
public void observeChanged(Object bean, String propertyName)(Code)
Observes the specified readable bound bean property in the given bean.
Parameters:
  bean - the bean to be observed
Parameters:
  propertyName - the name of the readable bound bean property
throws:
  NullPointerException - if the bean or propertyName is null
throws:
  PropertyNotBindableException - if this class can't addthe PropertyChangeListener from the bean
See Also:   PresentationModel.retractInterestFor(Object,String)
See Also:   PresentationModel.observeChanged(ValueModel)



observeChanged
public void observeChanged(ValueModel valueModel)(Code)
Observes value changes in the given ValueModel.
Parameters:
  valueModel - the ValueModel to observe
throws:
  NullPointerException - if the valueModel is null
See Also:   PresentationModel.retractInterestFor(ValueModel)
See Also:   PresentationModel.observeChanged(Object,String)



release
public void release()(Code)
Removes the PropertyChangeHandler from the observed bean, if the bean is not null. Also removes all listeners from the bean that have been registered with #addBeanPropertyChangeListener before.

PresentationModels have a PropertyChangeListener registered with the target bean. Hence, a bean has a reference to all PresentationModels that hold it as bean. To avoid memory leaks it is recommended to remove this listener, if the bean lives much longer than the PresentationModel, enabling the garbage collector to remove the PresentationModel. To do so, you can call setBean(null) or set the bean channel's value to null. As an alternative you can use event listener lists in your beans that implement references with WeakReference.

Setting the bean to null has side-effects, for example the model fires a change event for the bound property bean and other properties. And the value of ValueModel's vent by this model may change. However, typically this is fine and setting the bean to null is the first choice for removing the reference from the bean to the PresentationModel. Another way to clear the reference from the target bean is to call this #release method. It has no side-effects, but the PresentationModel must not be used anymore once #release has been called.
See Also:   PresentationModel.setBean(Object)
See Also:   java.lang.ref.WeakReference
since:
   1.2




removeBeanPropertyChangeListener
public synchronized void removeBeanPropertyChangeListener(PropertyChangeListener listener)(Code)
Removes a PropertyChangeListener from the list of bean listeners. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of the target bean.

If listener is null, no exception is thrown and no action is performed.
Parameters:
  listener - the PropertyChangeListener to be removed
See Also:   PresentationModel.addBeanPropertyChangeListener(PropertyChangeListener)
See Also:   PresentationModel.addBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.removeBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners()




removeBeanPropertyChangeListener
public synchronized void removeBeanPropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)
Removes a PropertyChangeListener from the listener list for a specific property. This method should be used to remove PropertyChangeListeners that were registered for a specific bound property.

If listener is null, no exception is thrown and no action is performed.
Parameters:
  propertyName - a valid property name
Parameters:
  listener - the PropertyChangeListener to be removed
See Also:   PresentationModel.addBeanPropertyChangeListener(String,PropertyChangeListener)
See Also:   PresentationModel.removeBeanPropertyChangeListener(PropertyChangeListener)
See Also:   PresentationModel.getBeanPropertyChangeListeners(String)




resetChanged
public void resetChanged()(Code)
Resets this model's changed state to false. Therefore it resets the changed states of the change tracker and the underlying bean adapter.

Subclasses may override this method to reset the changed state of submodels. The overriding method must invoke this super behavior. For example if you have a MainModel that is composed of two submodels Submodel1 and Submodel2, you may write:

 public void resetChanged() {
 super.resetChanged();
 getSubmodel1().resetChanged();
 getSubmodel2().resetChanged();
 }
 

See Also:   PresentationModel.isChanged()
See Also:   PresentationModel.observeChanged(ValueModel)
See Also:   PresentationModel.observeChanged(Object,String)



retractInterestFor
public void retractInterestFor(Object bean, String propertyName)(Code)
Retracts interest for the specified readable bound bean property in the given bean.
Parameters:
  bean - the bean to be observed
Parameters:
  propertyName - the name of the readable bound bean property
throws:
  NullPointerException - if the bean or propertyName is null
throws:
  PropertyNotBindableException - if this class can't removethe PropertyChangeListener from the bean
See Also:   PresentationModel.observeChanged(Object,String)
See Also:   PresentationModel.retractInterestFor(ValueModel)



retractInterestFor
public void retractInterestFor(ValueModel valueModel)(Code)
Retracts interest for value changes in the given ValueModel.
Parameters:
  valueModel - the ValueModel to observe
throws:
  NullPointerException - if the valueModel is null
See Also:   PresentationModel.observeChanged(ValueModel)
See Also:   PresentationModel.retractInterestFor(Object,String)



setBean
public void setBean(B newBean)(Code)
Sets a new bean as content of the bean channel. All adapted properties will reflect this change.
Parameters:
  newBean - the new bean
See Also:   PresentationModel.getBean()
See Also:   PresentationModel.getBeanChannel()



setBufferedValue
public void setBufferedValue(String propertyName, Object newValue)(Code)
Buffers the given value for the specified bean property. It is a shorthand for writing
getBufferedModel(propertyName).setValue(newValue)
As a side-effect, this method may create a buffered model.
Parameters:
  propertyName - the name of the property to set
Parameters:
  newValue - the value to set
throws:
  NullPointerException - if the property name is null
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  PropertyAccessException - if the new value could not be set
since:
   1.1



setChanged
protected void setChanged(boolean newValue)(Code)



setTriggerChannel
public void setTriggerChannel(ValueModel newTriggerChannel)(Code)
Sets the given ValueModel as this model's new trigger channel. Sets the new trigger channel in all existing BufferedValueModels that have been created using #getBufferedModel. Subsequent invocations of #triggerCommit and #triggerFlush will trigger commit and flush events using the new trigger channel.
Parameters:
  newTriggerChannel - the ValueModel to be set asthis model's new trigger channel
throws:
  NullPointerException - if the new trigger channel is null
See Also:   BufferedValueModel
See Also:   ValueModel
See Also:   PresentationModel.getTriggerChannel()



setValue
public void setValue(String propertyName, Object newValue)(Code)
Sets the given new value for the specified bean property. Does nothing if this adapter's bean is null. If the setter associated with the propertyName throws a PropertyVetoException, it is silently ignored.

Notifies the associated value change listeners if the bean reports a property change. Note that a bean may suppress PropertyChangeEvents if the old and new value are the same, or if the old and new value are equal.

This operation is supported only for writable bean properties.
Parameters:
  propertyName - the name of the property to set
Parameters:
  newValue - the value to set
throws:
  NullPointerException - if the property name is null
throws:
  UnsupportedOperationException - if the property is read-only
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  PropertyAccessException - if the new value could not be set
since:
   1.1




setVetoableValue
public void setVetoableValue(String propertyName, Object newValue) throws PropertyVetoException(Code)
Sets a new value for the specified bean property. Does nothing if the bean is null. If the setter associated with the propertyName throws a PropertyVetoException, this methods throws the same exception.

Notifies the associated value change listeners if the bean reports a property change. Note that a bean may suppress PropertyChangeEvents if the old and new value are the same, or if the old and new value are equal.

This operation is supported only for writable bean properties.
Parameters:
  propertyName - the name of the property to set
Parameters:
  newValue - the value to set
throws:
  NullPointerException - if the property name is null
throws:
  UnsupportedOperationException - if the property is read-only
throws:
  PropertyNotFoundException - if the property could not be found
throws:
  PropertyAccessException - if the new value could not be set
throws:
  PropertyVetoException - if the bean setterthrows a PropertyVetoException
since:
   1.1




triggerCommit
public void triggerCommit()(Code)
Sets the trigger channel to true which in turn triggers commit events in all BufferedValueModels that share this trigger.
See Also:   PresentationModel.triggerFlush()



triggerFlush
public void triggerFlush()(Code)
Sets the trigger channel to false which in turn triggers flush events in all BufferedValueModels that share this trigger.
See Also:   PresentationModel.triggerCommit()



Methods inherited from com.jgoodies.binding.beans.Model
final public synchronized void addPropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc)
final public synchronized void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc)
final public synchronized void addVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc)
final public synchronized void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)(Code)(Java Doc)
final protected boolean equals(Object o1, Object o2)(Code)(Java Doc)
final protected void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)(Code)(Java Doc)
final protected void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)(Code)(Java Doc)
final protected void fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue)(Code)(Java Doc)
final protected void fireMultiplePropertiesChanged()(Code)(Java Doc)
final protected void firePropertyChange(PropertyChangeEvent event)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, Object oldValue, Object newValue, boolean checkIdentity)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, double oldValue, double newValue)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, float oldValue, float newValue)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, int oldValue, int newValue)(Code)(Java Doc)
final protected void firePropertyChange(String propertyName, long oldValue, long newValue)(Code)(Java Doc)
final protected void fireVetoableChange(PropertyChangeEvent event) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, boolean oldValue, boolean newValue) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, double oldValue, double newValue) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, int oldValue, int newValue) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, float oldValue, float newValue) throws PropertyVetoException(Code)(Java Doc)
final protected void fireVetoableChange(String propertyName, long oldValue, long newValue) throws PropertyVetoException(Code)(Java Doc)
final public synchronized PropertyChangeListener[] getPropertyChangeListeners()(Code)(Java Doc)
final public synchronized PropertyChangeListener[] getPropertyChangeListeners(String propertyName)(Code)(Java Doc)
final public synchronized VetoableChangeListener[] getVetoableChangeListeners()(Code)(Java Doc)
final public synchronized VetoableChangeListener[] getVetoableChangeListeners(String propertyName)(Code)(Java Doc)
final public synchronized void removePropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc)
final public synchronized void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc)
final public synchronized void removeVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc)
final public synchronized void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.