Class CustomObjectOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.ObjectOutputStream
-
- com.thoughtworks.xstream.core.util.CustomObjectOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataOutput,java.io.Flushable,java.io.ObjectOutput,java.io.ObjectStreamConstants,java.lang.AutoCloseable
public class CustomObjectOutputStream extends java.io.ObjectOutputStream
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classCustomObjectOutputStream.CustomPutFieldstatic interfaceCustomObjectOutputStream.StreamCallback
-
Field Summary
Fields Modifier and Type Field Description private FastStackcallbacksprivate FastStackcustomFieldsprivate static java.lang.StringDATA_HOLDER_KEY-
Fields inherited from interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
-
-
Constructor Summary
Constructors Constructor Description CustomObjectOutputStream(CustomObjectOutputStream.StreamCallback callback)Warning, this object is expensive to create (due to functionality inherited from superclass).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voiddefaultWriteObject()Methods to delegate to callbackvoidflush()static CustomObjectOutputStreamgetInstance(DataHolder whereFrom, CustomObjectOutputStream.StreamCallback callback)CustomObjectOutputStream.StreamCallbackpeekCallback()CustomObjectOutputStream.StreamCallbackpopCallback()voidpushCallback(CustomObjectOutputStream.StreamCallback callback)Allows the CustomObjectOutputStream (which is expensive to create) to be reused.java.io.ObjectOutputStream.PutFieldputFields()voidreset()Unsupported methodsvoiduseProtocolVersion(int version)voidwrite(byte[] buf)voidwrite(byte[] buf, int off, int len)voidwrite(int val)voidwriteBoolean(boolean val)voidwriteByte(int val)voidwriteBytes(java.lang.String str)voidwriteChar(int val)voidwriteChars(java.lang.String str)voidwriteDouble(double val)voidwriteFields()voidwriteFloat(float val)voidwriteInt(int val)voidwriteLong(long val)protected voidwriteObjectOverride(java.lang.Object obj)voidwriteShort(int val)voidwriteUnshared(java.lang.Object obj)voidwriteUTF(java.lang.String str)
-
-
-
Constructor Detail
-
CustomObjectOutputStream
public CustomObjectOutputStream(CustomObjectOutputStream.StreamCallback callback) throws java.io.IOException, java.lang.SecurityException
Warning, this object is expensive to create (due to functionality inherited from superclass). Use the static fetch() method instead, wherever possible.- Throws:
java.io.IOExceptionjava.lang.SecurityException- See Also:
getInstance(com.thoughtworks.xstream.converters.DataHolder, com.thoughtworks.xstream.core.util.CustomObjectOutputStream.StreamCallback)
-
-
Method Detail
-
getInstance
public static CustomObjectOutputStream getInstance(DataHolder whereFrom, CustomObjectOutputStream.StreamCallback callback)
-
pushCallback
public void pushCallback(CustomObjectOutputStream.StreamCallback callback)
Allows the CustomObjectOutputStream (which is expensive to create) to be reused.
-
popCallback
public CustomObjectOutputStream.StreamCallback popCallback()
-
peekCallback
public CustomObjectOutputStream.StreamCallback peekCallback()
-
defaultWriteObject
public void defaultWriteObject() throws java.io.IOExceptionMethods to delegate to callback- Overrides:
defaultWriteObjectin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeObjectOverride
protected void writeObjectOverride(java.lang.Object obj) throws java.io.IOException- Overrides:
writeObjectOverridein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeBoolean
public void writeBoolean(boolean val) throws java.io.IOException- Specified by:
writeBooleanin interfacejava.io.DataOutput- Overrides:
writeBooleanin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeByte
public void writeByte(int val) throws java.io.IOException- Specified by:
writeBytein interfacejava.io.DataOutput- Overrides:
writeBytein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeInt
public void writeInt(int val) throws java.io.IOException- Specified by:
writeIntin interfacejava.io.DataOutput- Overrides:
writeIntin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeChar
public void writeChar(int val) throws java.io.IOException- Specified by:
writeCharin interfacejava.io.DataOutput- Overrides:
writeCharin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeDouble
public void writeDouble(double val) throws java.io.IOException- Specified by:
writeDoublein interfacejava.io.DataOutput- Overrides:
writeDoublein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeFloat
public void writeFloat(float val) throws java.io.IOException- Specified by:
writeFloatin interfacejava.io.DataOutput- Overrides:
writeFloatin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeLong
public void writeLong(long val) throws java.io.IOException- Specified by:
writeLongin interfacejava.io.DataOutput- Overrides:
writeLongin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeShort
public void writeShort(int val) throws java.io.IOException- Specified by:
writeShortin interfacejava.io.DataOutput- Overrides:
writeShortin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] buf) throws java.io.IOException- Specified by:
writein interfacejava.io.DataOutput- Specified by:
writein interfacejava.io.ObjectOutput- Overrides:
writein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeChars
public void writeChars(java.lang.String str) throws java.io.IOException- Specified by:
writeCharsin interfacejava.io.DataOutput- Overrides:
writeCharsin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
writeUTF
public void writeUTF(java.lang.String str) throws java.io.IOException- Specified by:
writeUTFin interfacejava.io.DataOutput- Overrides:
writeUTFin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
write
public void write(int val) throws java.io.IOException- Specified by:
writein interfacejava.io.DataOutput- Specified by:
writein interfacejava.io.ObjectOutput- Overrides:
writein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] buf, int off, int len) throws java.io.IOException- Specified by:
writein interfacejava.io.DataOutput- Specified by:
writein interfacejava.io.ObjectOutput- Overrides:
writein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin interfacejava.io.ObjectOutput- Overrides:
flushin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacejava.io.ObjectOutput- Overrides:
closein classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
putFields
public java.io.ObjectOutputStream.PutField putFields()
- Overrides:
putFieldsin classjava.io.ObjectOutputStream
-
writeFields
public void writeFields() throws java.io.IOException- Overrides:
writeFieldsin classjava.io.ObjectOutputStream- Throws:
java.io.IOException
-
reset
public void reset()
Unsupported methods- Overrides:
resetin classjava.io.ObjectOutputStream
-
useProtocolVersion
public void useProtocolVersion(int version)
- Overrides:
useProtocolVersionin classjava.io.ObjectOutputStream
-
writeBytes
public void writeBytes(java.lang.String str)
- Specified by:
writeBytesin interfacejava.io.DataOutput- Overrides:
writeBytesin classjava.io.ObjectOutputStream
-
writeUnshared
public void writeUnshared(java.lang.Object obj)
- Overrides:
writeUnsharedin classjava.io.ObjectOutputStream
-
-