Class TextualIntegerCoder

  • All Implemented Interfaces:
    java.io.Serializable

    public class TextualIntegerCoder
    extends AtomicCoder<java.lang.Integer>
    A Coder that encodes Integer Integers as the ASCII bytes of their textual, decimal, representation.
    See Also:
    Serialized Form
    • Constructor Detail

      • TextualIntegerCoder

        protected TextualIntegerCoder()
    • Method Detail

      • encode

        public void encode​(java.lang.Integer value,
                           java.io.OutputStream outStream)
                    throws java.io.IOException,
                           CoderException
        Description copied from class: Coder
        Encodes the given value of type T onto the given output stream.
        Specified by:
        encode in class Coder<java.lang.Integer>
        Throws:
        java.io.IOException - if writing to the OutputStream fails for some reason
        CoderException - if the value could not be encoded for some reason
      • encode

        public void encode​(java.lang.Integer value,
                           java.io.OutputStream outStream,
                           Coder.Context context)
                    throws java.io.IOException,
                           CoderException
        Description copied from class: Coder
        Encodes the given value of type T onto the given output stream in the given context.
        Overrides:
        encode in class Coder<java.lang.Integer>
        Throws:
        java.io.IOException - if writing to the OutputStream fails for some reason
        CoderException - if the value could not be encoded for some reason
      • decode

        public java.lang.Integer decode​(java.io.InputStream inStream)
                                 throws java.io.IOException,
                                        CoderException
        Description copied from class: Coder
        Decodes a value of type T from the given input stream in the given context. Returns the decoded value.
        Specified by:
        decode in class Coder<java.lang.Integer>
        Throws:
        java.io.IOException - if reading from the InputStream fails for some reason
        CoderException - if the value could not be decoded for some reason
      • decode

        public java.lang.Integer decode​(java.io.InputStream inStream,
                                        Coder.Context context)
                                 throws java.io.IOException,
                                        CoderException
        Description copied from class: Coder
        Decodes a value of type T from the given input stream in the given context. Returns the decoded value.
        Overrides:
        decode in class Coder<java.lang.Integer>
        Throws:
        java.io.IOException - if reading from the InputStream fails for some reason
        CoderException - if the value could not be decoded for some reason
      • verifyDeterministic

        public void verifyDeterministic()
        Description copied from class: AtomicCoder
        Throw Coder.NonDeterministicException if the coding is not deterministic.

        In order for a Coder to be considered deterministic, the following must be true:

        • two values that compare as equal (via Object.equals() or Comparable.compareTo(), if supported) have the same encoding.
        • the Coder always produces a canonical encoding, which is the same for an instance of an object even if produced on different computers at different times.
        .

        Unless overridden, does not throw. An AtomicCoder is presumed to be deterministic

        Overrides:
        verifyDeterministic in class AtomicCoder<java.lang.Integer>
      • getEncodedElementByteSize

        protected long getEncodedElementByteSize​(java.lang.Integer value)
                                          throws java.lang.Exception
        Description copied from class: Coder
        Returns the size in bytes of the encoded value using this coder.
        Overrides:
        getEncodedElementByteSize in class Coder<java.lang.Integer>
        Throws:
        java.lang.Exception