Class FunctionalScalarMarshaller<T,V>
- java.lang.Object
-
- org.wildfly.clustering.marshalling.protostream.FunctionalScalarMarshaller<T,V>
-
- Type Parameters:
T- the type of this marshallerV- the type of the mapped scalar marshaller
- All Implemented Interfaces:
org.infinispan.protostream.BaseMarshaller<T>,org.infinispan.protostream.ProtobufTagMarshaller<T>,Marshallable<T>,ProtoStreamMarshaller<T>
- Direct Known Subclasses:
ProxyMarshaller,SingletonCollectionMarshaller,URIMarshaller
public class FunctionalScalarMarshaller<T,V> extends Object implements ProtoStreamMarshaller<T>
Marshaller that reads/writes a single field by applying functions to aScalarMarshaller.- Author:
- Paul Ferraro
-
-
Constructor Summary
Constructors Constructor Description FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, BiPredicate<V,V> equals, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionPredicate<T,IOException> skipWrite, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, BiPredicate<V,V> equals, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionPredicate<T,IOException> skipWrite, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)Constructs a new single field marshaller based on single scalar marshaller.
-
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 value)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.ProtoStreamMarshaller
getTypeName, read, write
-
-
-
-
Constructor Detail
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
marshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, BiPredicate<V,V> equals, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
marshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.equals- a predicate used to determine ifwriteTo(ProtoStreamWriter, Object)should skip writing the field.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionPredicate<T,IOException> skipWrite, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
marshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.skipWrite- a predicate used to determine ifwriteTo(ProtoStreamWriter, Object)should skip writing the field.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
targetClass- the type of this marshallermarshaller- the scalar marshaller used by this marshallerfunction- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
targetClass- the type of this marshallermarshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, BiPredicate<V,V> equals, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
targetClass- the type of this marshallermarshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.equals- a predicate comparing the default value with the value to write, used to determine ifwriteTo(ProtoStreamWriter, Object)should skip writing the field.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
FunctionalScalarMarshaller
public FunctionalScalarMarshaller(Class<? extends T> targetClass, ScalarMarshaller<V> marshaller, Supplier<T> defaultFactory, org.wildfly.common.function.ExceptionPredicate<T,IOException> skipWrite, org.wildfly.common.function.ExceptionFunction<T,V,IOException> function, org.wildfly.common.function.ExceptionFunction<V,T,IOException> factory)
Constructs a new single field marshaller based on single scalar marshaller.- Parameters:
targetClass- the type of this marshallermarshaller- the scalar marshaller used by this marshallerdefaultFactory- generates a default value returned byreadFrom(ProtoStreamReader)if no field was written.skipWrite- a predicate used to determine ifwriteTo(ProtoStreamWriter, Object)should skip writing the field.function- a function that returns a value suitable for use by the specified scalar marshallerfactory- a function applied to the value read from the specified scalar marshaller
-
-
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 value) throws IOException
Description copied from interface:MarshallableWrites the specified object to the specified writer.- Specified by:
writeToin interfaceMarshallable<T>- Parameters:
writer- a ProtoStream writervalue- 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.
-
-