Package org.jboss.marshalling
Class ChainingClassTable
java.lang.Object
org.jboss.marshalling.ChainingClassTable
- All Implemented Interfaces:
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ClassTable[]
private final List<Pair<ClassTable,
ClassTable.Writer>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetClassWriter
(Class<?> clazz) Determine whether the given class reference is a valid predefined reference.private static Pair<ClassTable,
ClassTable.Writer> pair
(ClassTable classTable, ClassTable.Writer writer) Class<?>
readClass
(Unmarshaller unmarshaller) Read a class from the stream.
-
Field Details
-
writers
-
readers
-
-
Constructor Details
-
ChainingClassTable
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 Details
-
pair
private static Pair<ClassTable,ClassTable.Writer> pair(ClassTable classTable, ClassTable.Writer writer) -
getClassWriter
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
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
-