00001 /* 00002 * ObjectManagerISProxy.java 00003 * 00004 * Created on 30 October 2003, 06:56 00005 */ 00006 00007 package Sct.ISProxy; 00008 00009 import Sct.*; 00010 import Sct.File.ObjectManagerFile; 00011 import Sct.IS.ObjectManagerIS; 00012 00024 public class ObjectManagerISProxy extends Sct.IS.ObjectManagerIS { 00025 00026 public static ObjectManagerISProxy instance() { 00027 if (instance == null) 00028 instance = new ObjectManagerISProxy(); 00029 return instance; 00030 } 00031 00032 public Name writeObject(Serializable object) throws java.io.IOException { 00033 ISProxy proxy = new ISProxy(object); 00034 ObjectManagerFile.getInstance().writeObject(object); 00035 return super.writeObject(proxy); 00036 } 00037 00038 public void writeObject(OStream s, String name, Streamable object, boolean writeClassName) throws java.io.IOException{ 00039 if (object instanceof ISProxy) { 00040 if (writeClassName) writeClassName(s, "Sct.ISProxy.ISProxy"); 00041 object.write(s, this); 00042 } else 00043 super.writeObject(s, name, object, writeClassName); 00044 } 00045 00047 private ObjectManagerISProxy() { 00048 } 00049 00050 private static ObjectManagerISProxy instance; 00051 }