Class PeriodMarshaller

java.lang.Object
org.wildfly.clustering.marshalling.protostream.time.PeriodMarshaller
All Implemented Interfaces:
org.infinispan.protostream.BaseMarshaller<Period>, org.infinispan.protostream.ProtobufTagMarshaller<Period>, Marshallable<Period>, ProtoStreamMarshaller<Period>, Readable<Period>, Writable<Period>

public class PeriodMarshaller extends Object implements ProtoStreamMarshaller<Period>
Marshaller for Period instances, using the following strategy:
  1. Marshal Period.ZERO as zero bytes
  2. Marshal number of years of period as signed integer
  3. Marshal number of months of period as signed integer
  4. Marshal number of days of period as signed integer
Author:
Paul Ferraro
  • Constructor Details

    • PeriodMarshaller

      public PeriodMarshaller()
  • Method Details

    • readFrom

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

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

      public Class<? extends Period> 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<Period>
      Specified by:
      getJavaClass in interface Marshallable<Period>
      Returns:
      the type of object handled by this marshallable instance.