1 31 32 package org.antlr.xjlib.appkit.document; 33 34 import org.antlr.xjlib.foundation.XJObject; 35 36 import java.io.*; 37 import java.util.HashMap ; 38 import java.util.Iterator ; 39 import java.util.Map ; 40 41 public class XJData extends XJObject { 42 43 static final long serialVersionUID = 10275539472847495L; 44 45 private static final int VERSION = 1; 46 protected Map <String ,Object > dictionary = new HashMap <String , Object >(); 47 protected String file; 48 49 public XJData() { 50 51 } 52 53 public void setFile(String file) { 54 this.file = file; 55 } 56 57 public String getFile() { 58 return file; 59 } 60 61 public void setDataForKey(Object sender, String key, Object value) { 62 dictionary.put(key, value); 63 keyValueChanged(sender, key, value); 64 } 65 66 public Object getDataForKey(String key) { 67 return dictionary.get(key); 68 } 69 70 public void dataChanged() { 71 Iterator <String > iterator = dictionary.keySet().iterator(); 72 while(iterator.hasNext()) { 73 String key = iterator.next(); 74 keyValueChanged(this, key, dictionary.get(key)); 75 } 76 } 77 78 public void observeValueForKey(Object sender, String key, Object value) { 79 dictionary.put(key, value); 80 keyValueChanged(sender, key, value); 81 } 82 83 85 public static final int DATA_INPUTSTREAM = 1; 86 public static final int DATA_OBJECTINPUTSTREAM = 2; 87 public static final int DATA_PLAINTEXT = 3; 88 public static final int DATA_XML = 4; 89 90 public int dataType() { 91 return DATA_OBJECTINPUTSTREAM; 92 } 93 94 public void readData() throws IOException, ClassNotFoundException { 95 } 96 97 public void writeData() throws IOException { 98 } 99 100 public void readData(InputStream is) throws IOException, ClassNotFoundException { 101 } 102 103 public void writeData(OutputStream os) throws IOException { 104 } 105 106 public void readData(ObjectInputStream ois) throws IOException, ClassNotFoundException { 107 ois.readInt(); 108 dictionary = (HashMap <String ,Object >)ois.readObject(); 109 dataChanged(); 110 } 111 112 public void writeData(ObjectOutputStream oos) throws IOException { 113 oos.writeInt(VERSION); 114 oos.writeObject(dictionary); 115 } 116 117 } 118 | Popular Tags |