com.levigo.util.swing.flextree
Interface DynamicTreeModule
- All Superinterfaces:
- TreeModule
public interface DynamicTreeModule
- extends TreeModule
The DynamicTreeModule is like any other TreeModule
, except that it is supplied with a
per-node callback enabling it to inform the representation about asynchronous changes.
CAVEAT: this interface is currently in a state of flux. Please do not implement it independently.
Nested Class Summary |
static interface |
DynamicTreeModule.ChangeListener
ChangeListener s can be used by DynamicTreeModule s to request
refreshes of the tree in response to changes to domain data. |
registerChangeListener
Disposable registerChangeListener(TreePath treePath,
DynamicTreeModule.ChangeListener listener)
- This method is called in order to supply the tree module with a
DynamicTreeModule.ChangeListener
for the
given treePath. Using the change listener the module can notify the FlexTree, that the object
or data, that the node for the given path represents, changed in some way, that makes it
necessary to update the node's derived properties.
This method may return an instance of Disposable
, called upon the disposal of the
representation node. This mechanism is used to properly shut down any listeners set up to
bridge changes from some domain object to the DynamicTreeModule.ChangeListener
. Supplying a
Disposable
isn't mandatory, however. If some other mechanism for de-registration is
applied (e.g. soft-references), implementors may return null
.
- Parameters:
treePath
-
- Returns:
- an object that is to be notified upon the disposal of the representation node or
null
, if the disposal is implemented by other means (e.g. a soft
reference).