package NET.worlds.console; import NET.worlds.scape.Persister; import NET.worlds.scape.Restorer; import NET.worlds.scape.Saver; import NET.worlds.scape.TooNewException; import java.awt.MenuItem; import java.io.IOException; public class BookmarkMenuItem extends MenuItem implements Persister { private static final long serialVersionUID = -6078093402030113754L; private String target; private static Object classCookie = new Object(); public BookmarkMenuItem(String name, String target) { super(name); this.target = target; } public BookmarkMenuItem() { } public String getTarget() { return this.target; } public void setTarget(String loc) { this.target = loc; } @Override public void saveState(Saver s) throws IOException { s.saveVersion(1, classCookie); s.saveString(this.getLabel()); s.saveString(this.target); } @Override public void restoreState(Restorer r) throws IOException, TooNewException { switch (r.restoreVersion(classCookie)) { case 1: this.setLabel(r.restoreString()); this.target = r.restoreString(); return; default: throw new TooNewException(); } } @Override public void postRestore(int version) { } }