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

    Constructors
    Constructor
    Description
    SynchronizedDecoratorMarshaller(Class<T> decoratedClass, UnaryOperator<T> decorator, T sample)
    Constructs a decorator marshaller.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    writeTo(ProtoStreamWriter writer, T value)
    Writes the specified object to the specified writer.

    Methods inherited from class org.wildfly.clustering.marshalling.protostream.reflect.UnaryMemberMarshaller

    apply

    Methods inherited from class org.wildfly.clustering.marshalling.protostream.reflect.AbstractMemberMarshaller

    getJavaClass, readFrom

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.infinispan.protostream.BaseMarshaller

    getSubClassNames

    Methods inherited from interface java.util.function.Function

    andThen, compose

    Methods inherited from interface org.wildfly.clustering.marshalling.protostream.Marshallable

    size

    Methods 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 object
      decorator - the decoration function
      sample - a sample object used to determine the type of the decorated object
  • Method Details