Package com.googlecode.aviator.serialize
Class AviatorObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- com.googlecode.aviator.serialize.AviatorObjectInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataInput,java.io.ObjectInput,java.io.ObjectStreamConstants,java.lang.AutoCloseable
public class AviatorObjectInputStream extends java.io.ObjectInputStreamA special ObjectInputStream that loads a class based on the AvaitorClassLoader rather than the system default.- Since:
- 5.3.4
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,byte[]>classBytesCacheprivate AviatorClassLoaderclassLoaderprivate AviatorEvaluatorInstanceinstance-
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 AviatorObjectInputStream(java.io.InputStream in, AviatorEvaluatorInstance instance)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidconfigureExpression(BaseExpression exp)protected java.lang.Class<?>resolveClass(java.io.ObjectStreamClass desc)protected java.lang.ObjectresolveObject(java.lang.Object obj)-
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, resolveProxyClass, setObjectInputFilter, skipBytes
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
-
-
-
-
Field Detail
-
classLoader
private AviatorClassLoader classLoader
-
instance
private AviatorEvaluatorInstance instance
-
classBytesCache
private java.util.Map<java.lang.String,byte[]> classBytesCache
-
-
Constructor Detail
-
AviatorObjectInputStream
public AviatorObjectInputStream(java.io.InputStream in, AviatorEvaluatorInstance instance) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
resolveObject
protected java.lang.Object resolveObject(java.lang.Object obj) throws java.io.IOException- Overrides:
resolveObjectin classjava.io.ObjectInputStream- Throws:
java.io.IOException
-
configureExpression
private void configureExpression(BaseExpression exp)
-
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
-
-