com.jgoodies.binding.adapter

Class SpinnerToValueModelConnector


public final class SpinnerToValueModelConnector
extends java.lang.Object

Synchronizes a SpinnerModel with a ValueModel.
Version:
$Revision: 1.9 $
Author:
Karsten Lentzsch
Since:
1.1
See Also:
SpinnerModel, ValueModel

Constructor Summary

SpinnerToValueModelConnector(SpinnerModel spinnerModel, ValueModel valueModel, Object defaultValue)
Constructs a SpinnerToValueModelConnector that establishes a Synchronization between the SpinnerModel and ValueModel.

Method Summary

static void
connect(SpinnerModel spinnerModel, ValueModel valueModel, Object defaultValue)
Establishes a synchronization between the SpinnerModel and ValueModel.
void
release()
Removes the internal listener from the SpinnerModel and ValueModel.
void
updateSpinnerModel()
Sets the subject value as spinner value.
void
updateValueModel()
Sets the spinner value as value model's value.

Constructor Details

SpinnerToValueModelConnector

public SpinnerToValueModelConnector(SpinnerModel spinnerModel,
                                    ValueModel valueModel,
                                    Object defaultValue)
Constructs a SpinnerToValueModelConnector that establishes a Synchronization between the SpinnerModel and ValueModel. This constructor does not synchronize the SpinnerModel and ValueModel now. You may update the spinner model or value model using #updateSpinnerModel or #updateValueModel.

In case you don't need the connector instance, you better use the static method connect(SpinnerModel,ValueModel,Object). This constructor may confuse developers if you just use the side effects performed in the constructor; this is because it is quite unconventional to instantiate an object that you never use.

Parameters:
spinnerModel - the SpinnerModel to be synchronized
valueModel - the ValueModel to be synchronized
defaultValue - the value that will be used to update the spinnerModel, if the valueModel's value is null

Method Details

connect

public static void connect(SpinnerModel spinnerModel,
                           ValueModel valueModel,
                           Object defaultValue)
Establishes a synchronization between the SpinnerModel and ValueModel. This method does not synchronize the SpinnerModel and ValueModel now. You may update the spinner model or value model using #updateSpinnerModel or #updateValueModel.
Parameters:
spinnerModel - the SpinnerModel to be synchronized
valueModel - the ValueModel to be synchronized
defaultValue - the value used if the valueModel's value is null

release

public void release()
Removes the internal listener from the SpinnerModel and ValueModel. This connector must not be used after calling #release.

To avoid memory leaks it is recommended to invoke this method, if the ValueModel lives much longer than the text component. Instead of releasing this connector, you typically make the ValueModel obsolete by releasing the PresentationModel or BeanAdapter that has created the ValueModel.

As an alternative you may use ValueModels that in turn use event listener lists implemented using WeakReference.


updateSpinnerModel

public void updateSpinnerModel()
Sets the subject value as spinner value.

updateValueModel

public void updateValueModel()
Sets the spinner value as value model's value.

Copyright © 2002-2007 JGoodies Karsten Lentzsch. All Rights Reserved.