public interface MutableModel extends Model
Model that allows changing the underlying configuration
data from which the Model is created.
A Model and child classes which implement this interface and child interfaces
will generally be based on MutableConfig and mutable child interfaces,
although this is not strictly required since only
NodeConfigTransferObject is actually exposed through these interfaces.
The reason for not exposing the underlying MutableConfig and mutable child
interfaces is that changes to the MutableConfig and child interfaces cannot be
done without the MutableModel knowing about it since an active MutableModel can
contain many dynamically instantiated objects (e.g., plugins) whose
configuration depend on the MutableConfig, and if it changes, the MutableModel
must make appropriate adjustments, such as clearing various caches to force the
recreation of the dynamically instantiated objects.
Runtime change events may eventually be supported so that the MutableModel can adjust to configuration changes at runtime.
| Modifier and Type | Method and Description |
|---|---|
MutableClassificationNode |
createMutableClassificationNodeRoot()
Creates a new uninitialized root
MutableClassificationNode. |
findModuleByArtifactGroupId, getClassificationNode, getClassificationNodeRoot, getModuleMutableClassificationNode createMutableClassificationNodeRoot()
MutableClassificationNode.
Creation is finalized and visible only once
MutableNode.setNodeConfigTransferObject(org.azyva.dragom.model.config.NodeConfigTransferObject, org.azyva.dragom.model.config.OptimisticLockHandle) is called,
replacing any root MutableClassificationNode that may already be set.
Copyright © 2015–2017 AZYVA INC.. All rights reserved.