Package org.jboss.marshalling.river
Class RiverUnmarshaller
- java.lang.Object
-
- java.io.InputStream
-
- org.jboss.marshalling.SimpleByteInput
-
- org.jboss.marshalling.ByteInputStream
-
- org.jboss.marshalling.SimpleDataInput
-
- org.jboss.marshalling.AbstractObjectInput
-
- org.jboss.marshalling.AbstractUnmarshaller
-
- org.jboss.marshalling.river.RiverUnmarshaller
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataInput,java.io.ObjectInput,java.lang.AutoCloseable,ByteInput,Unmarshaller
public class RiverUnmarshaller extends AbstractUnmarshaller
-
-
Field Summary
Fields Modifier and Type Field Description private BlockUnmarshallerblockUnmarshallerprivate java.util.ArrayList<ClassDescriptor>classCacheprivate java.security.PrivilegedExceptionAction<RiverObjectInputStream>createObjectInputStreamActionprivate static ReflectiveCreatorDEFAULT_CREATORprivate intdepthprivate java.util.ArrayList<java.lang.Object>instanceCacheprivate RiverObjectInputStreamobjectInputStreamprivate static java.lang.reflect.FieldproxyInvocationHandlerprivate SerializableClassRegistryregistryprivate java.util.SortedSet<Validator>validatorsprivate intvalidatorSeqprivate intversion-
Fields inherited from class org.jboss.marshalling.AbstractUnmarshaller
classExternalizerFactory, classResolver, classTable, configuredVersion, exceptionListener, objectPreResolver, objectResolver, objectTable, serializabilityChecker, streamHeader
-
Fields inherited from class org.jboss.marshalling.SimpleDataInput
buffer, limit, position
-
Fields inherited from class org.jboss.marshalling.ByteInputStream
byteInput
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRiverUnmarshaller(RiverMarshallerFactory marshallerFactory, SerializableClassRegistry registry, MarshallingConfiguration configuration)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddValidation(java.io.ObjectInputValidation validation, int prio)voidclearClassCache()Discard the class cache.voidclearInstanceCache()Discard the instance cache.voidclose()private RiverObjectInputStreamcreateObjectInputStream()protected voiddiscardFields(SerializableClassDescriptor descriptor)private voiddoInitSerializable(java.lang.Object obj, SerializableClassDescriptor descriptor, boolean discardMissing)private java.lang.ObjectdoReadArray(int cnt, boolean unshared, boolean discardMissing)private java.lang.ObjectdoReadBooleanArray(int cnt, boolean unshared)private java.lang.ObjectdoReadByteArray(int cnt, boolean unshared)private java.lang.ObjectdoReadCharArray(int cnt, boolean unshared)(package private) ClassDescriptordoReadClassDescriptor(int classType, boolean required)(package private) java.lang.ObjectdoReadCollectionObject(boolean unshared, int idx, int size, boolean discardMissing)private java.lang.ObjectdoReadDoubleArray(int cnt, boolean unshared)private java.lang.ObjectdoReadFloatArray(int cnt, boolean unshared)private java.lang.ObjectdoReadIntArray(int cnt, boolean unshared)private java.lang.ObjectdoReadLongArray(int cnt, boolean unshared)(package private) java.lang.ObjectdoReadMapObject(boolean unshared, int idx, int size, boolean key, boolean discardMissing)(package private) java.lang.ObjectdoReadNestedObject(boolean unshared, java.lang.String enclosingClassName)protected java.lang.ObjectdoReadNewObject(int streamClassType, boolean unshared, boolean discardMissing)protected java.lang.ObjectdoReadObject(boolean unshared)Implementation of the actual object-reading method.(package private) java.lang.ObjectdoReadObject(boolean unshared, boolean discardMissing)(package private) java.lang.ObjectdoReadObject(int leadByte, boolean unshared, boolean discardMissing)private java.lang.ObjectdoReadObjectArray(int cnt, java.lang.Class<?> type, boolean unshared, boolean discardMissing)private java.lang.ObjectdoReadShortArray(int cnt, boolean unshared)voidfinish()Finish reading from the current input.private BlockUnmarshallergetBlockUnmarshaller()private RiverObjectInputStreamgetObjectInputStream()private java.lang.ObjectreadCollectionData(boolean unshared, int cacheIdx, int len, java.util.Collection target, boolean discardMissing)protected voidreadFields(java.lang.Object obj, SerializableClassDescriptor descriptor, boolean discardMissing)private java.lang.ObjectreadMapData(boolean unshared, int cacheIdx, int len, java.util.Map target, boolean discardMissing)private java.lang.ObjectreadSortedMapData(boolean unshared, int cacheIdx, int len, java.util.SortedMap target, boolean discardMissing)private java.lang.ObjectreadSortedSetData(boolean unshared, int cacheIdx, int len, java.util.SortedSet target, boolean discardMissing)protected java.lang.StringreadString()java.lang.StringreadUTF()private java.lang.Objectreplace(java.lang.Object object)private static java.lang.EnumresolveEnumConstant(ClassDescriptor descriptor, java.lang.String name)private static java.io.InvalidObjectExceptionsharedMismatch()voidstart(ByteInput byteInput)Start reading from the given input.-
Methods inherited from class org.jboss.marshalling.AbstractObjectInput
readObject, readObject, readObjectUnshared, readObjectUnshared
-
Methods inherited from class org.jboss.marshalling.SimpleDataInput
available, read, read, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readIntDirect, readLine, readLong, readLongDirect, readShort, readUnsignedByte, readUnsignedByteDirect, readUnsignedShort, skip, skipBytes
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, transferTo
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.io.DataInput
readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, skipBytes
-
Methods inherited from interface org.jboss.marshalling.Unmarshaller
readObject, readObjectUnshared, readObjectUnshared
-
-
-
-
Field Detail
-
DEFAULT_CREATOR
private static final ReflectiveCreator DEFAULT_CREATOR
-
instanceCache
private final java.util.ArrayList<java.lang.Object> instanceCache
-
classCache
private final java.util.ArrayList<ClassDescriptor> classCache
-
registry
private final SerializableClassRegistry registry
-
version
private int version
-
depth
private int depth
-
blockUnmarshaller
private BlockUnmarshaller blockUnmarshaller
-
objectInputStream
private RiverObjectInputStream objectInputStream
-
validators
private java.util.SortedSet<Validator> validators
-
validatorSeq
private int validatorSeq
-
proxyInvocationHandler
private static final java.lang.reflect.Field proxyInvocationHandler
-
createObjectInputStreamAction
private final java.security.PrivilegedExceptionAction<RiverObjectInputStream> createObjectInputStreamAction
-
-
Constructor Detail
-
RiverUnmarshaller
protected RiverUnmarshaller(RiverMarshallerFactory marshallerFactory, SerializableClassRegistry registry, MarshallingConfiguration configuration)
-
-
Method Detail
-
clearInstanceCache
public void clearInstanceCache() throws java.io.IOExceptionDescription copied from interface:UnmarshallerDiscard the instance cache.- Throws:
java.io.IOException- if an error occurs
-
clearClassCache
public void clearClassCache() throws java.io.IOExceptionDescription copied from interface:UnmarshallerDiscard the class cache. Implicitly also discards the instance cache.- Throws:
java.io.IOException- if an error occurs
-
close
public void close() throws java.io.IOExceptionDescription copied from class:SimpleDataInput- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacejava.io.ObjectInput- Overrides:
closein classSimpleDataInput- Throws:
java.io.IOException
-
finish
public void finish() throws java.io.IOExceptionDescription copied from class:AbstractUnmarshallerFinish reading from the current input. The internal buffer is discarded, not flushed.- Specified by:
finishin interfaceUnmarshaller- Overrides:
finishin classAbstractUnmarshaller- Throws:
java.io.IOException- not thrown by this implementation, but may be overridden to be thrown if a problem occurs
-
getBlockUnmarshaller
private BlockUnmarshaller getBlockUnmarshaller()
-
getObjectInputStream
private RiverObjectInputStream getObjectInputStream() throws java.io.IOException
- Throws:
java.io.IOException
-
createObjectInputStream
private RiverObjectInputStream createObjectInputStream() throws java.io.IOException
- Throws:
java.io.IOException
-
doReadNestedObject
java.lang.Object doReadNestedObject(boolean unshared, java.lang.String enclosingClassName) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
doReadCollectionObject
java.lang.Object doReadCollectionObject(boolean unshared, int idx, int size, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
doReadMapObject
java.lang.Object doReadMapObject(boolean unshared, int idx, int size, boolean key, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
doReadObject
protected java.lang.Object doReadObject(boolean unshared) throws java.lang.ClassNotFoundException, java.io.IOExceptionDescription copied from class:AbstractObjectInputImplementation of the actual object-reading method.- Specified by:
doReadObjectin classAbstractObjectInput- Parameters:
unshared-trueif the instance should be unshared,falseif it is shared- Returns:
- the object to read
- Throws:
java.lang.ClassNotFoundException- if the class for the object could not be loadedjava.io.IOException- if an I/O error occurs
-
doReadObject
java.lang.Object doReadObject(boolean unshared, boolean discardMissing) throws java.io.IOException, java.lang.ClassNotFoundException- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
doReadObject
java.lang.Object doReadObject(int leadByte, boolean unshared, boolean discardMissing) throws java.io.IOException, java.lang.ClassNotFoundException- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
readCollectionData
private java.lang.Object readCollectionData(boolean unshared, int cacheIdx, int len, java.util.Collection target, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
readSortedSetData
private java.lang.Object readSortedSetData(boolean unshared, int cacheIdx, int len, java.util.SortedSet target, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
readMapData
private java.lang.Object readMapData(boolean unshared, int cacheIdx, int len, java.util.Map target, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
readSortedMapData
private java.lang.Object readSortedMapData(boolean unshared, int cacheIdx, int len, java.util.SortedMap target, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
sharedMismatch
private static java.io.InvalidObjectException sharedMismatch()
-
doReadClassDescriptor
ClassDescriptor doReadClassDescriptor(int classType, boolean required) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
readString
protected java.lang.String readString() throws java.io.IOException- Throws:
java.io.IOException
-
start
public void start(ByteInput byteInput) throws java.io.IOException
Description copied from class:AbstractUnmarshallerStart reading from the given input. The internal buffer is discarded.- Specified by:
startin interfaceUnmarshaller- Overrides:
startin classAbstractUnmarshaller- Parameters:
byteInput- the new input from which to read- Throws:
java.io.IOException- not thrown by this implementation, but may be overridden to be thrown if a problem occurs
-
doReadNewObject
protected java.lang.Object doReadNewObject(int streamClassType, boolean unshared, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
doReadDoubleArray
private java.lang.Object doReadDoubleArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadFloatArray
private java.lang.Object doReadFloatArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadCharArray
private java.lang.Object doReadCharArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadLongArray
private java.lang.Object doReadLongArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadIntArray
private java.lang.Object doReadIntArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadShortArray
private java.lang.Object doReadShortArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadByteArray
private java.lang.Object doReadByteArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadBooleanArray
private java.lang.Object doReadBooleanArray(int cnt, boolean unshared) throws java.io.IOException- Throws:
java.io.IOException
-
doReadObjectArray
private java.lang.Object doReadObjectArray(int cnt, java.lang.Class<?> type, boolean unshared, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
doReadArray
private java.lang.Object doReadArray(int cnt, boolean unshared, boolean discardMissing) throws java.lang.ClassNotFoundException, java.io.IOException- Throws:
java.lang.ClassNotFoundExceptionjava.io.IOException
-
resolveEnumConstant
private static java.lang.Enum resolveEnumConstant(ClassDescriptor descriptor, java.lang.String name)
-
doInitSerializable
private void doInitSerializable(java.lang.Object obj, SerializableClassDescriptor descriptor, boolean discardMissing) throws java.io.IOException, java.lang.ClassNotFoundException- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
readFields
protected void readFields(java.lang.Object obj, SerializableClassDescriptor descriptor, boolean discardMissing) throws java.io.IOException, java.lang.ClassNotFoundException- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
discardFields
protected void discardFields(SerializableClassDescriptor descriptor) throws java.io.IOException
- Throws:
java.io.IOException
-
addValidation
void addValidation(java.io.ObjectInputValidation validation, int prio)
-
readUTF
public java.lang.String readUTF() throws java.io.IOExceptionDescription copied from class:SimpleDataInput- Specified by:
readUTFin interfacejava.io.DataInput- Overrides:
readUTFin classSimpleDataInput- Throws:
java.io.IOException
-
replace
private java.lang.Object replace(java.lang.Object object)
-
-