Class SynchronizedDecoratorMarshaller<T>
java.lang.Object
org.wildfly.clustering.marshalling.protostream.reflect.AbstractMemberMarshaller<T,M>
org.wildfly.clustering.marshalling.protostream.reflect.UnaryMemberMarshaller<T,Field,F>
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 -
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 org.wildfly.clustering.marshalling.protostream.reflect.UnaryMemberMarshaller
applyMethods inherited from class org.wildfly.clustering.marshalling.protostream.reflect.AbstractMemberMarshaller
getJavaClass, readFromMethods 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, 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
-