Package org.jboss.marshalling
Class ChainingClassTable
- java.lang.Object
-
- org.jboss.marshalling.ChainingClassTable
-
- All Implemented Interfaces:
ClassTable
public class ChainingClassTable extends Object implements ClassTable
A class table that multiplexes up to 256 class tables. The protocol works by prepending the custom class table with an identifier byte.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jboss.marshalling.ClassTable
ClassTable.Writer
-
-
Constructor Summary
Constructors Constructor Description ChainingClassTable(ClassTable[] classTables)
Construct a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassTable.Writer
getClassWriter(Class<?> clazz)
Determine whether the given class reference is a valid predefined reference.Class<?>
readClass(Unmarshaller unmarshaller)
Read a class from the stream.
-
-
-
Constructor Detail
-
ChainingClassTable
public ChainingClassTable(ClassTable[] classTables)
Construct a new instance. The given array may be sparse, but it may not be more than 256 elements in length. Class tables are checked in order of increasing array index.- Parameters:
classTables
- the class tables to delegate to
-
-
Method Detail
-
getClassWriter
public ClassTable.Writer getClassWriter(Class<?> clazz) throws IOException
Determine whether the given class reference is a valid predefined reference.- Specified by:
getClassWriter
in interfaceClassTable
- Parameters:
clazz
- the candidate class- Returns:
- the class writer, or
null
to use the default mechanism - Throws:
IOException
- if an I/O error occurs
-
readClass
public Class<?> readClass(Unmarshaller unmarshaller) throws IOException, ClassNotFoundException
Read a class from the stream. The class will have been written by theClassTable.getClassWriter(Class)
method'sWriter
instance, as defined above.- Specified by:
readClass
in interfaceClassTable
- Parameters:
unmarshaller
- the unmarshaller to read from- Returns:
- the class
- Throws:
IOException
- if an I/O error occursClassNotFoundException
- if a class could not be found
-
-