Enum DurationMarshaller

java.lang.Object
java.lang.Enum<DurationMarshaller>
org.wildfly.clustering.marshalling.protostream.time.DurationMarshaller
All Implemented Interfaces:
Serializable, Comparable<DurationMarshaller>, FieldReadable<Duration>, FieldSetMarshaller<Duration,Duration>, FieldSetMarshaller.Simple<Duration>, Writable<Duration>

public enum DurationMarshaller extends Enum<DurationMarshaller> implements FieldSetMarshaller.Simple<Duration>
Marshaller for Duration instances, using the following strategy:
  1. Marshal Duration.ZERO as zero bytes
  2. Marshal number of seconds of duration as unsigned long
  3. Marshal sub-second value of duration as unsigned integer, using millisecond precision, if possible
Author:
Paul Ferraro
  • Enum Constant Details

  • Method Details

    • values

      public static DurationMarshaller[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static DurationMarshaller valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • createInitialValue

      public Duration createInitialValue()
      Description copied from interface: FieldSetMarshaller
      Returns a builder for use with #readField(ProtoStreamReader, Object). May return a shared instance, if the builder type is immutable, or a new instance, if the builder is mutable.
      Specified by:
      createInitialValue in interface FieldSetMarshaller<Duration,Duration>
      Returns:
      a builder.
    • getFields

      public int getFields()
      Description copied from interface: FieldReadable
      Returns the number of fields in this field set
      Specified by:
      getFields in interface FieldReadable<Duration>
      Returns:
      a number of fields
    • readFrom

      public Duration readFrom(ProtoStreamReader reader, int index, org.infinispan.protostream.descriptors.WireType type, Duration duration) throws IOException
      Description copied from interface: FieldReadable
      Reads a single field from the specified reader.
      Specified by:
      readFrom in interface FieldReadable<Duration>
      Parameters:
      reader - a reader
      index - the zero-based index, relative to this field set, of the field to be read
      type - the wire type of the field to be read
      duration - the current value
      Returns:
      the read value
      Throws:
      IOException - if a field could not be read
    • writeTo

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