Class FieldMarshaller<T>

java.lang.Object
org.wildfly.clustering.marshalling.protostream.reflect.FieldMarshaller<T>
Type Parameters:
T - the target type of this marshaller
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
  • 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
    FieldMarshaller(Class<? extends T> type, Class<?>... memberTypes)
    Creates a marshaller for the specified fields of the specified class.
    FieldMarshaller(Class<? extends T> type, Supplier<? extends T> factory, Class<?>... memberTypes)
    Creates a field marshaller for the specified fields of the specified class using the specified factory
  • Method Summary

    Modifier and Type
    Method
    Description
    Class<? extends T>
    Returns the type of object handled by this marshallable instance.
    Reads an object from the specified reader.
    void
    writeTo(ProtoStreamWriter writer, T source)
    Writes the specified object to the specified writer.

    Methods inherited from class 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 Marshallable

    size

    Methods inherited from interface ProtoStreamMarshaller

    getTypeName, read, wrap, wrap, write
  • Constructor Details

    • FieldMarshaller

      public FieldMarshaller(Class<? extends T> type, Class<?>... memberTypes)
      Creates a marshaller for the specified fields of the specified class.
      Parameters:
      type - a marshalled object type
      memberTypes - the member types
    • FieldMarshaller

      public FieldMarshaller(Class<? extends T> type, Supplier<? extends T> factory, Class<?>... memberTypes)
      Creates a field marshaller for the specified fields of the specified class using the specified factory
      Parameters:
      type - a marshalled object type
      factory - a factory for creating the field
      memberTypes - the member types
  • 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