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.ObjectInputStream
A 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[]>
classBytesCache
private AviatorClassLoader
classLoader
private AviatorEvaluatorInstance
instance
-
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 void
configureExpression(BaseExpression exp)
protected java.lang.Class<?>
resolveClass(java.io.ObjectStreamClass desc)
protected java.lang.Object
resolveObject(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:
resolveObject
in 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:
resolveClass
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-