com.frinika.sequencer.model
Interface EditHistoryRecordable

All Known Implementing Classes:
AudioLane, AudioPart, ChannelEvent, ClefChange, ControllerEvent, Lane, MetaEvent, MidiLane, MidiPart, MidiPartGhost, MultiEvent, NotationEvent, NoteEvent, Part, PitchBendEvent, ProgramChangeEvent, ProjectLane, SubsetMultiEvent, SynthLane, SysexEvent, TextLane, TextPart

public interface EditHistoryRecordable

Objects which changes are to be recorded in the editHistoryContainer should implement this interface EditHistory container records adding and removal of objects - if you need to change a property on the object you should remove it first, do your changes, and add it again. On removal the EditHistoryContainer will attempt to clone the object - and if restored later it will use the restoreFromClone method to restore the cloned data on the original instance.

Author:
Peter Johan Salomonsen

Method Summary
 java.lang.Object clone()
          If restoration from a clone is needed - this method should return a clone otherwise throw the CloneNotSupportedException
 void restoreFromClone(EditHistoryRecordable object)
          On removal the EditHistoryContainer will attempt to clone the object - and if restored later it will use the restoreFromClone method to restore the cloned data on the original instance.
 

Method Detail

clone

java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
If restoration from a clone is needed - this method should return a clone otherwise throw the CloneNotSupportedException

Returns:
Throws:
java.lang.CloneNotSupportedException

restoreFromClone

void restoreFromClone(EditHistoryRecordable object)
On removal the EditHistoryContainer will attempt to clone the object - and if restored later it will use the restoreFromClone method to restore the cloned data on the original instance.

Parameters:
object -