Class CustomObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- com.thoughtworks.xstream.core.util.CustomObjectInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataInput,java.io.ObjectInput,java.io.ObjectStreamConstants,java.lang.AutoCloseable
public class CustomObjectInputStream extends java.io.ObjectInputStream
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classCustomObjectInputStream.CustomGetFieldstatic interfaceCustomObjectInputStream.StreamCallback
-
Field Summary
Fields Modifier and Type Field Description private FastStackcallbacksprivate ClassLoaderReferenceclassLoaderReferenceprivate 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 CustomObjectInputStream(CustomObjectInputStream.StreamCallback callback, ClassLoaderReference classLoaderReference)Warning, this object is expensive to create (due to functionality inherited from superclass).CustomObjectInputStream(CustomObjectInputStream.StreamCallback callback, java.lang.ClassLoader classLoader)Deprecated.As of 1.4.5 useCustomObjectInputStream(StreamCallback, ClassLoaderReference)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intavailable()Unsupported methodsvoidclose()voiddefaultReadObject()static CustomObjectInputStreamgetInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback)Deprecated.As of 1.4 usegetInstance(DataHolder, StreamCallback, ClassLoader)static CustomObjectInputStreamgetInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, ClassLoaderReference classLoaderReference)static CustomObjectInputStreamgetInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, java.lang.ClassLoader classLoader)Deprecated.As of 1.4.5 usegetInstance(DataHolder, StreamCallback, ClassLoaderReference)voidmark(int readlimit)booleanmarkSupported()CustomObjectInputStream.StreamCallbackpeekCallback()CustomObjectInputStream.StreamCallbackpopCallback()voidpushCallback(CustomObjectInputStream.StreamCallback callback)Allows the CustomObjectInputStream (which is expensive to create) to be reused.intread()intread(byte[] b)intread(byte[] buf, int off, int len)booleanreadBoolean()bytereadByte()charreadChar()doublereadDouble()java.io.ObjectInputStream.GetFieldreadFields()floatreadFloat()voidreadFully(byte[] buf)voidreadFully(byte[] buf, int off, int len)intreadInt()java.lang.StringreadLine()longreadLong()protected java.lang.ObjectreadObjectOverride()shortreadShort()java.lang.ObjectreadUnshared()intreadUnsignedByte()intreadUnsignedShort()java.lang.StringreadUTF()voidregisterValidation(java.io.ObjectInputValidation validation, int priority)voidreset()protected java.lang.ClassresolveClass(java.io.ObjectStreamClass desc)longskip(long n)intskipBytes(int len)-
Methods inherited from class java.io.ObjectInputStream
enableResolveObject, getObjectInputFilter, readClassDescriptor, readObject, readStreamHeader, resolveObject, resolveProxyClass, setObjectInputFilter
-
-
-
-
Field Detail
-
callbacks
private FastStack callbacks
-
classLoaderReference
private final ClassLoaderReference classLoaderReference
-
DATA_HOLDER_KEY
private static final java.lang.String DATA_HOLDER_KEY
-
-
Constructor Detail
-
CustomObjectInputStream
public CustomObjectInputStream(CustomObjectInputStream.StreamCallback callback, ClassLoaderReference classLoaderReference) 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(DataHolder, StreamCallback, ClassLoaderReference)
-
CustomObjectInputStream
public CustomObjectInputStream(CustomObjectInputStream.StreamCallback callback, java.lang.ClassLoader classLoader) throws java.io.IOException, java.lang.SecurityException
Deprecated.As of 1.4.5 useCustomObjectInputStream(StreamCallback, ClassLoaderReference)- Throws:
java.io.IOExceptionjava.lang.SecurityException
-
-
Method Detail
-
getInstance
public static CustomObjectInputStream getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback)
Deprecated.As of 1.4 usegetInstance(DataHolder, StreamCallback, ClassLoader)
-
getInstance
public static CustomObjectInputStream getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, java.lang.ClassLoader classLoader)
Deprecated.As of 1.4.5 usegetInstance(DataHolder, StreamCallback, ClassLoaderReference)
-
getInstance
public static CustomObjectInputStream getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, ClassLoaderReference classLoaderReference)
-
pushCallback
public void pushCallback(CustomObjectInputStream.StreamCallback callback)
Allows the CustomObjectInputStream (which is expensive to create) to be reused.
-
popCallback
public CustomObjectInputStream.StreamCallback popCallback()
-
peekCallback
public CustomObjectInputStream.StreamCallback peekCallback()
-
resolveClass
protected java.lang.Class resolveClass(java.io.ObjectStreamClass desc) throws java.io.IOException, java.lang.ClassNotFoundException- Overrides:
resolveClassin classjava.io.ObjectInputStream- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
defaultReadObject
public void defaultReadObject() throws java.io.IOException- Overrides:
defaultReadObjectin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readObjectOverride
protected java.lang.Object readObjectOverride() throws java.io.IOException- Overrides:
readObjectOverridein classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readUnshared
public java.lang.Object readUnshared() throws java.io.IOException, java.lang.ClassNotFoundException- Overrides:
readUnsharedin classjava.io.ObjectInputStream- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
readBoolean
public boolean readBoolean() throws java.io.IOException- Specified by:
readBooleanin interfacejava.io.DataInput- Overrides:
readBooleanin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException- Specified by:
readBytein interfacejava.io.DataInput- Overrides:
readBytein classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException- Specified by:
readUnsignedBytein interfacejava.io.DataInput- Overrides:
readUnsignedBytein classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readInt
public int readInt() throws java.io.IOException- Specified by:
readIntin interfacejava.io.DataInput- Overrides:
readIntin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException- Specified by:
readCharin interfacejava.io.DataInput- Overrides:
readCharin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException- Specified by:
readFloatin interfacejava.io.DataInput- Overrides:
readFloatin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException- Specified by:
readDoublein interfacejava.io.DataInput- Overrides:
readDoublein classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException- Specified by:
readLongin interfacejava.io.DataInput- Overrides:
readLongin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException- Specified by:
readShortin interfacejava.io.DataInput- Overrides:
readShortin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException- Specified by:
readUnsignedShortin interfacejava.io.DataInput- Overrides:
readUnsignedShortin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOException- Specified by:
readUTFin interfacejava.io.DataInput- Overrides:
readUTFin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf) throws java.io.IOException- Specified by:
readFullyin interfacejava.io.DataInput- Overrides:
readFullyin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf, int off, int len) throws java.io.IOException- Specified by:
readFullyin interfacejava.io.DataInput- Overrides:
readFullyin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException- Specified by:
readin interfacejava.io.ObjectInput- Overrides:
readin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] buf, int off, int len) throws java.io.IOException- Specified by:
readin interfacejava.io.ObjectInput- Overrides:
readin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException- Specified by:
readin interfacejava.io.ObjectInput- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
readFields
public java.io.ObjectInputStream.GetField readFields() throws java.io.IOException- Overrides:
readFieldsin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
registerValidation
public void registerValidation(java.io.ObjectInputValidation validation, int priority) throws java.io.NotActiveException, java.io.InvalidObjectException- Overrides:
registerValidationin classjava.io.ObjectInputStream- Throws:
java.io.NotActiveExceptionjava.io.InvalidObjectException
-
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.ObjectInput- Overrides:
closein classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
available
public int available()
Unsupported methods- Specified by:
availablein interfacejava.io.ObjectInput- Overrides:
availablein classjava.io.ObjectInputStream
-
readLine
public java.lang.String readLine()
- Specified by:
readLinein interfacejava.io.DataInput- Overrides:
readLinein classjava.io.ObjectInputStream
-
skipBytes
public int skipBytes(int len)
- Specified by:
skipBytesin interfacejava.io.DataInput- Overrides:
skipBytesin classjava.io.ObjectInputStream
-
skip
public long skip(long n)
- Specified by:
skipin interfacejava.io.ObjectInput- Overrides:
skipin classjava.io.InputStream
-
mark
public void mark(int readlimit)
- Overrides:
markin classjava.io.InputStream
-
reset
public void reset()
- Overrides:
resetin classjava.io.InputStream
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classjava.io.InputStream
-
-