package com.xenoage.zong.commands.core.music.direction; import static com.xenoage.utils.collections.CollectionUtils.addOrNew; import lombok.AllArgsConstructor; import com.xenoage.utils.document.command.Command; import com.xenoage.utils.document.command.Undoability; import com.xenoage.zong.core.music.chord.Chord; import com.xenoage.zong.core.music.direction.Direction; /** * Adds the given {@link Direction} to the given {@link Chord}. * * @author Andreas Wenger */ @AllArgsConstructor public class DirectionAdd implements Command { //data private Direction direction; private Chord chord; @Override public void execute() { chord.setDirections(addOrNew(chord.getDirections(), direction)); } @Override public Undoability getUndoability() { return Undoability.Undoable; } @Override public void undo() { chord.setDirections(addOrNew(chord.getDirections(), direction)); } }