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>,Readable<T>,Writable<T>
- Direct Known Subclasses:
ProxyMarshaller,SingletonCollectionMarshaller,URIMarshaller
Marshaller that reads/writes a single field by applying functions to a
ScalarMarshaller.- Author:
- Paul Ferraro
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.protostream.ProtobufTagMarshaller
org.infinispan.protostream.ProtobufTagMarshaller.OperationContext, org.infinispan.protostream.ProtobufTagMarshaller.ReadContext, org.infinispan.protostream.ProtobufTagMarshaller.WriteContext -
Constructor Summary
ConstructorsConstructorDescriptionFunctionalScalarMarshaller(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
Modifier and TypeMethodDescriptionReturns the type of object handled by this marshallable instance.readFrom(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, waitMethods inherited from interface org.wildfly.clustering.marshalling.protostream.Marshallable
sizeMethods inherited from interface org.wildfly.clustering.marshalling.protostream.ProtoStreamMarshaller
getTypeName, read, write
-
Constructor Details
-
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 Details
-
readFrom
Description copied from interface:ReadableReads an object from the specified reader.- Specified by:
readFromin interfaceReadable<T>- Parameters:
reader- a ProtoStream reader- Returns:
- the read object
- Throws:
IOException- if the object could not be read
-
writeTo
Description copied from interface:WritableWrites the specified object to the specified writer.- Specified by:
writeToin interfaceWritable<T>- Parameters:
writer- a ProtoStream writervalue- the object to be written- Throws:
IOException- if the object could not be written
-
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.
-