Package org.infinispan.commons.marshall
Interface StreamAwareMarshaller
- All Known Subinterfaces:
PersistenceMarshaller
@ThreadSafe
public interface StreamAwareMarshaller
A minimal interface that facilitates the marshalling/unmarshalling of objects from the provided
InputStream/OutputStream. Unlike the deprecated StreamingMarshaller this interface
does not rely on the use of ObjectInput and ObjectOutput to read/write objects,
which provides greater flexibility when marshalling objects to streams using third party libraries.- Since:
- 10.0
- Author:
- Ryan Emerson
-
Method Summary
Modifier and TypeMethodDescriptionbooleanA method that checks whether the given object is marshallable as per the rules of this marshaller.Unmarshall an object from theInputStreamintAn method that provides an estimate of the buffer size that will be required once the object has been marshalled.voidwriteObject(Object o, OutputStream out) Marshall an object to theOutputStream
-
Method Details
-
writeObject
Marshall an object to theOutputStream- Parameters:
o- the object to write to theOutputStreamout- theOutputStreamto write the object to- Throws:
IOException- if the object cannot be marshalled to theOutputStreamdue to some I/O error
-
readObject
Unmarshall an object from theInputStream- Parameters:
in- theInputStreamto unmarshall an object from- Returns:
- the unmarshalled object instance
- Throws:
IOException- if unmarshalling cannot complete due to some I/O errorClassNotFoundException- if the class of the object trying to unmarshall is not found
-
isMarshallable
A method that checks whether the given object is marshallable as per the rules of this marshaller.- Parameters:
o- object to verify whether it's marshallable or not- Returns:
- true if the object is marshallable, otherwise false
-
sizeEstimate
An method that provides an estimate of the buffer size that will be required once the object has been marshalled.- Parameters:
o- instance that will be stored in the buffer.- Returns:
- int representing the next predicted buffer size.
-
mediaType
MediaType mediaType()- Returns:
- the
MediaTypeassociated with the content produced by the marshaller
-