Model Manipulation

fmp.system.ModelManipulation is a utility class implementing common operation on the feature model. Functions copy, copyTree, copyNode, and remove work in two modes: instant or deferred. In the deferred mode, the CompoundCommand given as argument is used to accumulate individual modification commands. The modifications are applied during the execution of the command. In the instant mode, the command is null and the model is modified during the execution of the function.

  • public Node copy(Node node, EditingDomain domain, AdapterFactory adapterFactory, CompoundCommand command) - Creates a copy of a given node together with its children and properties. The copy is added as a sibling of the node.
  • public Node copy(Node node, EditingDomain domain, AdapterFactory adapterFactory, CompoundCommand command) - Creates a copy of each node in the tree. Traverses the tree recursively.
  • public Node copyNode(Node node, EditingDomain domain, AdapterFactory adapterFactory, CompoundCommand command) - Creates and returns a copy of a single node.
  • public Feature configure(Feature root) - Configures given root feature. Starts the recursion.
  • public Node configureTree(Node node) - Configures each node in the tree by calling configureNode(Node node). Traverses the tree recursively.
  • public void remove(Node node, EditingDomain domain, CompoundCommand command, boolean appendOnly) - Removes a given node together with its properties.