Class FunctionalMarshaller<T,V>
- java.lang.Object
-
- org.wildfly.clustering.marshalling.protostream.FunctionalMarshaller<T,V>
-
- Type Parameters:
T- the type of this marshallerV- the type of the mapped marshaller
- All Implemented Interfaces:
org.infinispan.protostream.BaseMarshaller<T>,org.infinispan.protostream.ProtobufTagMarshaller<T>,Marshallable<T>,ProtoStreamMarshaller<T>
- Direct Known Subclasses:
InstantMarshaller,SimpleFunctionalMarshaller,SingletonMapMarshaller,URLMarshaller
public class FunctionalMarshaller<T,V> extends Object implements ProtoStreamMarshaller<T>
Marshaller that uses a functional transformation of another marshaller.- Author:
- Paul Ferraro
-
-
Constructor Summary
Constructors Constructor Description FunctionalMarshaller(Class<T> targetClass, Class<V> sourceClass, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)FunctionalMarshaller(Class<T> targetClass, Function<ProtoStreamOperation,ProtoStreamMarshaller<V>> marshallerFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)FunctionalMarshaller(Class<T> targetClass, ProtoStreamMarshaller<V> marshaller, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<? extends T>getJavaClass()Returns the type of object handled by this marshallable instance.TreadFrom(ProtoStreamReader reader)Reads an object from the specified reader.voidwriteTo(ProtoStreamWriter writer, T object)Writes the specified object to the specified writer.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.wildfly.clustering.marshalling.protostream.Marshallable
size
-
Methods inherited from interface org.wildfly.clustering.marshalling.protostream.ProtoStreamMarshaller
getTypeName, read, write
-
-
-
-
Constructor Detail
-
FunctionalMarshaller
public FunctionalMarshaller(Class<T> targetClass, Class<V> sourceClass, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
-
FunctionalMarshaller
public FunctionalMarshaller(Class<T> targetClass, ProtoStreamMarshaller<V> marshaller, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
-
FunctionalMarshaller
public FunctionalMarshaller(Class<T> targetClass, Function<ProtoStreamOperation,ProtoStreamMarshaller<V>> marshallerFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
-
-
Method Detail
-
readFrom
public T readFrom(ProtoStreamReader reader) throws IOException
Description copied from interface:MarshallableReads an object from the specified reader.- Specified by:
readFromin interfaceMarshallable<T>- Parameters:
reader- a ProtoStream reader- Returns:
- the read object
- Throws:
IOException- if the object could not be read
-
writeTo
public void writeTo(ProtoStreamWriter writer, T object) throws IOException
Description copied from interface:MarshallableWrites the specified object to the specified writer.- Specified by:
writeToin interfaceMarshallable<T>- Parameters:
writer- a ProtoStream writerobject- the object to be written- Throws:
IOException- if the object could not be written
-
getJavaClass
public Class<? extends T> getJavaClass()
Description copied from interface:MarshallableReturns the type of object handled by this marshallable instance.- Specified by:
getJavaClassin interfaceorg.infinispan.protostream.BaseMarshaller<T>- Specified by:
getJavaClassin interfaceMarshallable<T>- Returns:
- the type of object handled by this marshallable instance.
-
-