Class SynchronizedDecoratorMarshaller<T>
java.lang.Object
org.wildfly.clustering.marshalling.protostream.reflect.AbstractMemberMarshaller<T,Field>
org.wildfly.clustering.marshalling.protostream.reflect.UnaryMemberMarshaller<T,Field,T>
org.wildfly.clustering.marshalling.protostream.reflect.UnaryFieldMarshaller<T,T>
org.wildfly.clustering.marshalling.protostream.reflect.DecoratorMarshaller<T>
org.wildfly.clustering.marshalling.protostream.reflect.SynchronizedDecoratorMarshaller<T>
- Type Parameters:
T- the target type of this marshaller
- All Implemented Interfaces:
Function<Object[],T>, org.infinispan.protostream.BaseMarshaller<T>, org.infinispan.protostream.ProtobufTagMarshaller<T>, Marshallable<T>, ProtoStreamMarshaller<T>, Readable<T>, Writable<T>
A decorator marshaller that writes the decorated object while holding its monitor lock.
e.g. to enable iteration over a decorated collection without the risk of a ConcurrentModificationException.
- 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 -
Field Summary
Fields inherited from interface org.infinispan.protostream.BaseMarshaller
EMPTY -
Constructor Summary
ConstructorsConstructorDescriptionSynchronizedDecoratorMarshaller(Class<T> decoratedClass, UnaryOperator<T> decorator, T sample) Constructs a decorator marshaller. -
Method Summary
Modifier and TypeMethodDescriptionvoidwriteTo(ProtoStreamWriter writer, T value) Writes the specified object to the specified writer.Methods inherited from class UnaryMemberMarshaller
applyMethods inherited from class AbstractMemberMarshaller
getJavaClass, readFromMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.infinispan.protostream.BaseMarshaller
getSubClassNamesMethods inherited from interface Marshallable
sizeMethods inherited from interface ProtoStreamMarshaller
getTypeName, read, wrap, wrap, write
-
Constructor Details
-
SynchronizedDecoratorMarshaller
public SynchronizedDecoratorMarshaller(Class<T> decoratedClass, UnaryOperator<T> decorator, T sample) Constructs a decorator marshaller.- Parameters:
decoratedClass- the generalized type of the decorated objectdecorator- the decoration functionsample- a sample object used to determine the type of the decorated object
-
-
Method Details
-
writeTo
Description copied from interface:WritableWrites the specified object to the specified writer.- Specified by:
writeToin interfaceWritable<T>- Overrides:
writeToin classAbstractMemberMarshaller<T,Field> - Parameters:
writer- a ProtoStream writervalue- the object to be written- Throws:
IOException- if the object could not be written
-