Package org.jboss.marshalling
Interface Externalizer
-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
Pair.Externalizer
public interface Externalizer extends Serializable
A replacement serializer for an object class.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
createExternal(Class<?> subjectType, ObjectInput input)
Create an instance of a type.void
writeExternal(Object subject, ObjectOutput output)
Write the external representation of an object.
-
-
-
Method Detail
-
writeExternal
void writeExternal(Object subject, ObjectOutput output) throws IOException
Write the external representation of an object. The object's class and the externalizer's class will already have been written.- Parameters:
subject
- the object to externalizeoutput
- the output- Throws:
IOException
- if an error occurs
-
createExternal
Object createExternal(Class<?> subjectType, ObjectInput input) throws IOException, ClassNotFoundException
Create an instance of a type. The object may then be initialized frominput
, or that may be deferred to thereadExternal()
method. Instances may simply delegate the task to the givenCreator
. Note that this method is called only on the leaf class, so externalizers for non-final classes that initialize the instance from the stream need to be aware of this.- Parameters:
subjectType
- the type of object to createinput
- the input- Returns:
- the new instance
- Throws:
IOException
- if an error occursClassNotFoundException
- if a class could not be found during read
-
-