- All Superinterfaces:
Serializable
- All Known Implementing Classes:
Pair.Externalizer
A replacement serializer for an object class.
-
Method Summary
Modifier and TypeMethodDescriptioncreateExternal(Class<?> subjectType, ObjectInput input) Create an instance of a type.voidwriteExternal(Object subject, ObjectOutput output) Write the external representation of an object.
-
Method Details
-
writeExternal
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
-