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 TypeMethodDescriptionboolean
A method that checks whether the given object is marshallable as per the rules of this marshaller.Unmarshall an object from theInputStream
int
An method that provides an estimate of the buffer size that will be required once the object has been marshalled.void
writeObject
(Object o, OutputStream out) Marshall an object to theOutputStream
-
Method Details
-
writeObject
Marshall an object to theOutputStream
- Parameters:
o
- the object to write to theOutputStream
out
- theOutputStream
to write the object to- Throws:
IOException
- if the object cannot be marshalled to theOutputStream
due to some I/O error
-
readObject
Unmarshall an object from theInputStream
- Parameters:
in
- theInputStream
to 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
MediaType
associated with the content produced by the marshaller
-