package jetbrains.mps.vcs.diff.changes; /*Generated by MPS */ import org.jetbrains.mps.openapi.model.SNodeId; import jetbrains.mps.vcs.diff.ChangeSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.mps.openapi.model.SModel; public class DeleteRootChange extends ModelChange { private SNodeId myNodeId; public DeleteRootChange(ChangeSet changeSet, SNodeId nodeId) { super(changeSet); myNodeId = nodeId; } @NotNull @Override public SNodeId getRootId() { return myNodeId; } @Override public void apply(@NotNull SModel model, @NotNull NodeCopier nodeCopier) { assert model.getNode(myNodeId) != null; model.getNode(myNodeId).delete(); } @NotNull @Override protected ModelChange createOppositeChange() { return new AddRootChange(getChangeSet().getOppositeChangeSet(), myNodeId); } @NotNull @Override public ChangeType getType() { return ChangeType.DELETE; } @Override public String toString() { return "Delete root " + myNodeId; } @Override public String getDescription() { return "Deleted root #" + myNodeId; } }