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.CheckboxMenuItem; import java.io.IOException; public class SavedAvMenuItem extends CheckboxMenuItem implements Persister { private static final long serialVersionUID = 4876455058245955809L; private String avatar; private static Object classCookie = new Object(); public SavedAvMenuItem(String name, String avatar) { super(name); this.avatar = avatar; } public SavedAvMenuItem() { } public String getAvatar() { return this.avatar; } public void setAvatar(String av) { this.avatar = av; } @Override public void saveState(Saver s) throws IOException { s.saveVersion(1, classCookie); s.saveString(this.getLabel()); s.saveString(this.avatar); } @Override public void restoreState(Restorer r) throws IOException, TooNewException { switch (r.restoreVersion(classCookie)) { case 1: this.setLabel(r.restoreString()); this.avatar = r.restoreString(); return; default: throw new TooNewException(); } } @Override public void postRestore(int version) { } }