|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.io.OutputStream | +--java.io.ObjectOutputStream | +--org.mozilla.javascript.serialize.ScriptableOutputStream
Class ScriptableOutputStream is an ObjectOutputStream used to serialize JavaScript objects and functions. Note that compiled functions currently cannot be serialized, only interpreted functions. The top-level scope containing the object is not written out, but is instead replaced with another top-level object when the ScriptableInputStream reads in this object. Also, object corresponding to names added to the exclude list are not written out but instead are looked up during deserialization. This approach avoids the creation of duplicate copies of standard objects during deserialization.
Inner classes inherited from class java.io.ObjectOutputStream |
java.io.ObjectOutputStream.PutField |
Fields inherited from interface java.io.ObjectStreamConstants |
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING |
Constructor Summary | |
ScriptableOutputStream(java.io.OutputStream out,
Scriptable scope)
ScriptableOutputStream constructor. |
Method Summary | |
void |
addExcludedName(java.lang.String name)
Adds a qualified name to the list of object to be excluded from serialization. |
void |
excludeStandardObjectNames()
Adds the names of the standard objects and their prototypes to the list of excluded names. |
boolean |
hasExcludedName(java.lang.String name)
Returns true if the name is excluded from serialization. |
void |
removeExcludedName(java.lang.String name)
Removes a name from the list of names to exclude. |
Methods inherited from class java.io.ObjectOutputStream |
close, defaultWriteObject, flush, putFields, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFields, writeFloat, writeInt, writeLong, writeObject, writeShort, writeUTF |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ScriptableOutputStream(java.io.OutputStream out, Scriptable scope) throws java.io.IOException
out
- the OutputStream to write to.scope
- the scope containing the object.Method Detail |
public void addExcludedName(java.lang.String name)
name
- a fully qualified name (of the form "a.b.c", where
"a" must be a property of the top-level object)public boolean hasExcludedName(java.lang.String name)
public void removeExcludedName(java.lang.String name)
public void excludeStandardObjectNames()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |