Package org.apache.shiro.lang.io
Class ClassResolvingObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.apache.shiro.lang.io.ClassResolvingObjectInputStream
- All Implemented Interfaces:
Closeable,DataInput,ObjectInput,ObjectStreamConstants,AutoCloseable
Enables correct ClassLoader lookup in various environments (e.g. JEE Servers, etc.).
- Since:
- 1.2
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.io.ObjectInputStream
ObjectInputStream.GetField -
Field Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected Class<?>Resolves anObjectStreamClassby delegating to Shiro'sClassUtils.forName(String)utility method, which is known to work in all ClassLoader environments.Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, setObjectInputFilter, skipBytesMethods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferToMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.io.ObjectInput
read, skip
-
Constructor Details
-
ClassResolvingObjectInputStream
- Throws:
IOException
-
-
Method Details
-
resolveClass
Resolves anObjectStreamClassby delegating to Shiro'sClassUtils.forName(String)utility method, which is known to work in all ClassLoader environments.- Overrides:
resolveClassin classObjectInputStream- Parameters:
osc- the ObjectStreamClass to resolve the class name.- Returns:
- the discovered class
- Throws:
IOException- never - declaration retained for subclass consistencyClassNotFoundException- if the class could not be found in any known ClassLoader
-