package NET.worlds.scape; import java.io.IOException; public class StandardTexture extends Texture implements Persister { private String urlName; private static Object classCookie = new Object(); public StandardTexture(String urlName, String filename) { this.urlName = urlName; this.makeTexture(urlName, filename); } protected StandardTexture() { } private void makeTexture(String urlName, String filename) { this.textureID = new ImageConverter(urlName, filename).convert(); } @Override public String getName() { return this.urlName; } @Override public void saveState(Saver s) throws IOException { s.saveVersion(0, classCookie); super.saveState(s); s.saveString(this.urlName); } @Override public void restoreState(Restorer r) throws IOException, TooNewException { switch (r.restoreVersion(classCookie)) { case 0: super.restoreState(r); this.urlName = r.restoreString(); this.makeTexture(this.urlName, this.urlName); return; default: throw new TooNewException(); } } }