Class ClsChangeEvent

java.lang.Object
org.jjazz.chordleadsheet.api.event.ClsChangeEvent
Direct Known Subclasses:
DeletedBarsEvent, InsertedBarsEvent, ItemAddedEvent, ItemChangedEvent, ItemMovedEvent, ItemRemovedEvent, SectionAddedEvent, SectionChangedEvent, SectionMovedEvent, SectionRemovedEvent

public abstract class ClsChangeEvent extends Object
Each mutating ChordLeadSheet API method fires one ClsChangeEvent.
  • Method Details

    • setIsUndo

      public void setIsUndo()
      Set isUndo to true.
    • setIsRedo

      public void setIsRedo()
      Set isRedo to true.
    • isUndo

      public boolean isUndo()
      True if this is an undo event, i.e. this event's change was just undone.
      Returns:
      See Also:
    • isRedo

      public boolean isRedo()
      True if this is a redo event, i.e. this event's change was just redone.
      Returns:
      See Also:
    • isUndoOrRedo

      public boolean isUndoOrRedo()
    • getItem

      public ChordLeadSheetItem<?> getItem()
      Returns:
      The first item associated to the event, or null if no item associated to the event.
    • getItems

      public List<ChordLeadSheetItem> getItems()
      Returns:
      An ordered list of items
    • getItems

      public <T extends ChordLeadSheetItem<?>> List<T> getItems(Class<T> clazz)
      Get the items which are instance the specified class.
      Type Parameters:
      T -
      Parameters:
      clazz -
      Returns:
    • addItemChanges

      public void addItemChanges(List<PropertyChangeEvent> changes)
      Add some ChordLeadSheetItem change events generated by this change.
      Parameters:
      changes - PropertyChangeEvents must be adapted to this event's undo/redo state.
    • getItemChanges

      public List<PropertyChangeEvent> getItemChanges()
      Get all the ChordLeadSheetItem change events generated by this change.
      Returns:
      Can be empty. Returned PropertyChangeEvents are adapted to the undo/redo state, i.e caller does not need to reverse oldValue/newValue if isUndo() is true.
    • getItemChanges

      public List<PropertyChangeEvent> getItemChanges(String propertyName)
      Get the ChordLeadSheetItem change events which match propertyName.
      Parameters:
      propertyName -
      Returns:
      Can be empty
    • getSource

      public ChordLeadSheet getSource()