Class FieldMarshaller<T>

java.lang.Object
org.wildfly.clustering.marshalling.protostream.reflect.FieldMarshaller<T>
All Implemented Interfaces:
org.infinispan.protostream.BaseMarshaller<T>, org.infinispan.protostream.ProtobufTagMarshaller<T>, Marshallable<T>, ProtoStreamMarshaller<T>, Readable<T>, Writable<T>

public class FieldMarshaller<T> extends Object implements ProtoStreamMarshaller<T>
A very generic marshaller for use with classes whose state is not publicly available for reading or writing except by pure reflection.
Author:
Paul Ferraro
  • Constructor Details

    • FieldMarshaller

      public FieldMarshaller(Class<? extends T> type, Class<?>... memberTypes)
    • FieldMarshaller

      public FieldMarshaller(Class<? extends T> type, Supplier<? extends T> factory, Class<?>... memberTypes)
  • Method Details

    • getJavaClass

      public Class<? extends T> getJavaClass()
      Description copied from interface: Marshallable
      Returns the type of object handled by this marshallable instance.
      Specified by:
      getJavaClass in interface org.infinispan.protostream.BaseMarshaller<T>
      Specified by:
      getJavaClass in interface Marshallable<T>
      Returns:
      the type of object handled by this marshallable instance.
    • readFrom

      public T readFrom(ProtoStreamReader reader) throws IOException
      Description copied from interface: Readable
      Reads an object from the specified reader.
      Specified by:
      readFrom in interface Readable<T>
      Parameters:
      reader - a ProtoStream reader
      Returns:
      the read object
      Throws:
      IOException - if the object could not be read
    • writeTo

      public void writeTo(ProtoStreamWriter writer, T source) throws IOException
      Description copied from interface: Writable
      Writes the specified object to the specified writer.
      Specified by:
      writeTo in interface Writable<T>
      Parameters:
      writer - a ProtoStream writer
      source - the object to be written
      Throws:
      IOException - if the object could not be written