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 class
CustomObjectInputStream.CustomGetField
static interface
CustomObjectInputStream.StreamCallback
-
Field Summary
Fields Modifier and Type Field Description private FastStack
callbacks
private ClassLoaderReference
classLoaderReference
private static java.lang.String
DATA_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 int
available()
Unsupported methodsvoid
close()
void
defaultReadObject()
static CustomObjectInputStream
getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback)
Deprecated.As of 1.4 usegetInstance(DataHolder, StreamCallback, ClassLoader)
static CustomObjectInputStream
getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, ClassLoaderReference classLoaderReference)
static CustomObjectInputStream
getInstance(DataHolder whereFrom, CustomObjectInputStream.StreamCallback callback, java.lang.ClassLoader classLoader)
Deprecated.As of 1.4.5 usegetInstance(DataHolder, StreamCallback, ClassLoaderReference)
void
mark(int readlimit)
boolean
markSupported()
CustomObjectInputStream.StreamCallback
peekCallback()
CustomObjectInputStream.StreamCallback
popCallback()
void
pushCallback(CustomObjectInputStream.StreamCallback callback)
Allows the CustomObjectInputStream (which is expensive to create) to be reused.int
read()
int
read(byte[] b)
int
read(byte[] buf, int off, int len)
boolean
readBoolean()
byte
readByte()
char
readChar()
double
readDouble()
java.io.ObjectInputStream.GetField
readFields()
float
readFloat()
void
readFully(byte[] buf)
void
readFully(byte[] buf, int off, int len)
int
readInt()
java.lang.String
readLine()
long
readLong()
protected java.lang.Object
readObjectOverride()
short
readShort()
java.lang.Object
readUnshared()
int
readUnsignedByte()
int
readUnsignedShort()
java.lang.String
readUTF()
void
registerValidation(java.io.ObjectInputValidation validation, int priority)
void
reset()
protected java.lang.Class
resolveClass(java.io.ObjectStreamClass desc)
long
skip(long n)
int
skipBytes(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.IOException
java.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.IOException
java.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:
resolveClass
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
defaultReadObject
public void defaultReadObject() throws java.io.IOException
- Overrides:
defaultReadObject
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readObjectOverride
protected java.lang.Object readObjectOverride() throws java.io.IOException
- Overrides:
readObjectOverride
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readUnshared
public java.lang.Object readUnshared() throws java.io.IOException, java.lang.ClassNotFoundException
- Overrides:
readUnshared
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
readBoolean
public boolean readBoolean() throws java.io.IOException
- Specified by:
readBoolean
in interfacejava.io.DataInput
- Overrides:
readBoolean
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException
- Specified by:
readByte
in interfacejava.io.DataInput
- Overrides:
readByte
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException
- Specified by:
readUnsignedByte
in interfacejava.io.DataInput
- Overrides:
readUnsignedByte
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readInt
public int readInt() throws java.io.IOException
- Specified by:
readInt
in interfacejava.io.DataInput
- Overrides:
readInt
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException
- Specified by:
readChar
in interfacejava.io.DataInput
- Overrides:
readChar
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException
- Specified by:
readFloat
in interfacejava.io.DataInput
- Overrides:
readFloat
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException
- Specified by:
readDouble
in interfacejava.io.DataInput
- Overrides:
readDouble
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException
- Specified by:
readLong
in interfacejava.io.DataInput
- Overrides:
readLong
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException
- Specified by:
readShort
in interfacejava.io.DataInput
- Overrides:
readShort
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException
- Specified by:
readUnsignedShort
in interfacejava.io.DataInput
- Overrides:
readUnsignedShort
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOException
- Specified by:
readUTF
in interfacejava.io.DataInput
- Overrides:
readUTF
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Overrides:
readFully
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf, int off, int len) throws java.io.IOException
- Specified by:
readFully
in interfacejava.io.DataInput
- Overrides:
readFully
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException
- Specified by:
read
in interfacejava.io.ObjectInput
- Overrides:
read
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] buf, int off, int len) throws java.io.IOException
- Specified by:
read
in interfacejava.io.ObjectInput
- Overrides:
read
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException
- Specified by:
read
in interfacejava.io.ObjectInput
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
readFields
public java.io.ObjectInputStream.GetField readFields() throws java.io.IOException
- Overrides:
readFields
in 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:
registerValidation
in classjava.io.ObjectInputStream
- Throws:
java.io.NotActiveException
java.io.InvalidObjectException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacejava.io.ObjectInput
- Overrides:
close
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
available
public int available()
Unsupported methods- Specified by:
available
in interfacejava.io.ObjectInput
- Overrides:
available
in classjava.io.ObjectInputStream
-
readLine
public java.lang.String readLine()
- Specified by:
readLine
in interfacejava.io.DataInput
- Overrides:
readLine
in classjava.io.ObjectInputStream
-
skipBytes
public int skipBytes(int len)
- Specified by:
skipBytes
in interfacejava.io.DataInput
- Overrides:
skipBytes
in classjava.io.ObjectInputStream
-
skip
public long skip(long n)
- Specified by:
skip
in interfacejava.io.ObjectInput
- Overrides:
skip
in classjava.io.InputStream
-
mark
public void mark(int readlimit)
- Overrides:
mark
in classjava.io.InputStream
-
reset
public void reset()
- Overrides:
reset
in classjava.io.InputStream
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classjava.io.InputStream
-
-