Class 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>

public class SynchronizedDecoratorMarshaller<T> extends DecoratorMarshaller<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
  • 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 object
      decorator - the decoration function
      sample - a sample object used to determine the type of the decorated object
  • Method Details