Class ComponentObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
de.aristaflow.adept2.model.runtimeenvironment.ComponentObjectInputStream
- All Implemented Interfaces:
Closeable,DataInput,ObjectInput,ObjectStreamConstants,AutoCloseable
This
ObjectInputStream uses the context classloader of the
current thread instead of the last used classloader like the
ObjectInputStream. Executable components should always use this
stream instead of ObjectInputStream or there may be trouble with
the classloader, resp. the classpath of the classes required for the stream.-
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 TypeMethodDescriptionstatic final SerializablefromInputStream(InputStream object) Deserialises the object contained in the designated input stream.protected ClassLoaderGets the context classloader of the current thread.protected Class<?>protected Class<?>resolveProxyClass(String[] interfaces) 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, setObjectInputFilter, skipBytesMethods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, 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
-
ComponentObjectInputStream
- Throws:
IOException- See Also:
-
-
Method Details
-
resolveClass
- Overrides:
resolveClassin classObjectInputStream- Throws:
IOExceptionClassNotFoundException
-
resolveProxyClass
protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException - Overrides:
resolveProxyClassin classObjectInputStream- Throws:
IOExceptionClassNotFoundException
-
getLoader
Gets the context classloader of the current thread. It would be great, if the superclass would directly allow to override this method.- Returns:
- The context classloader of the current thread.
-
fromInputStream
public static final Serializable fromInputStream(InputStream object) throws IOException, ClassNotFoundException Deserialises the object contained in the designated input stream. This will try GZip, but switch to uncompressed deserialisation if not successful.- Parameters:
object- An input stream containing a serialised object (may be gzipped). The stream will be closed after reading.- Returns:
- The serialisable object from the designated input stream.
- Throws:
IOException- If there are problems when reading from the designated input stream, anIOExceptionwill be thrown.ClassNotFoundException- If the class of the designated object cannot be found for deserialisation, aClassNotFoundExceptionwill be thrown.
-