Class CoderResult

java.lang.Object
java.nio.charset.CoderResult

public final class CoderResult extends Object
A description of the result state of a coder.

A charset coder, that is, either a decoder or an encoder, consumes bytes (or characters) from an input buffer, translates them, and writes the resulting characters (or bytes) to an output buffer. A coding process terminates for one of four categories of reasons, which are described by instances of this class:

  • Underflow is reported when there is no more input to be processed, or there is insufficient input and additional input is required. This condition is represented by the unique result object UNDERFLOW, whose isUnderflow method returns true.

  • Overflow is reported when there is insufficient room remaining in the output buffer. This condition is represented by the unique result object OVERFLOW, whose isOverflow method returns true.

  • A malformed-input error is reported when a sequence of input units is not well-formed. Such errors are described by instances of this class whose isMalformed method returns true and whose length method returns the length of the malformed sequence. There is one unique instance of this class for all malformed-input errors of a given length.

  • An unmappable-character error is reported when a sequence of input units denotes a character that cannot be represented in the output charset. Such errors are described by instances of this class whose isUnmappable method returns true and whose length method returns the length of the input sequence denoting the unmappable character. There is one unique instance of this class for all unmappable-character errors of a given length.

For convenience, the isError method returns true for result objects that describe malformed-input and unmappable-character errors but false for those that describe underflow or overflow conditions.

Since:
1.4
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final CoderResult
    Result object indicating overflow, meaning that there is insufficient room in the output buffer.
    static final CoderResult
    Result object indicating underflow, meaning that either the input buffer has been completely consumed or, if the input buffer is not yet empty, that additional input is required.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Tells whether or not this object describes an error condition.
    boolean
    Tells whether or not this object describes a malformed-input error.
    boolean
    Tells whether or not this object describes an overflow condition.
    boolean
    Tells whether or not this object describes an underflow condition.
    boolean
    Tells whether or not this object describes an unmappable-character error.
    int
    Returns the length of the erroneous input described by this object  (optional operation).
    malformedForLength(int length)
    Static factory method that returns the unique object describing a malformed-input error of the given length.
    void
    Throws an exception appropriate to the result described by this object.
    Returns a string describing this coder result.
    unmappableForLength(int length)
    Static factory method that returns the unique result object describing an unmappable-character error of the given length.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Field Details

    • UNDERFLOW

      public static final CoderResult UNDERFLOW
      Result object indicating underflow, meaning that either the input buffer has been completely consumed or, if the input buffer is not yet empty, that additional input is required.
    • OVERFLOW

      public static final CoderResult OVERFLOW
      Result object indicating overflow, meaning that there is insufficient room in the output buffer.
  • Method Details

    • toString

      public String toString()
      Returns a string describing this coder result.
      Overrides:
      toString in class Object
      Returns:
      A descriptive string
    • isUnderflow

      public boolean isUnderflow()
      Tells whether or not this object describes an underflow condition.
      Returns:
      true if, and only if, this object denotes underflow
    • isOverflow

      public boolean isOverflow()
      Tells whether or not this object describes an overflow condition.
      Returns:
      true if, and only if, this object denotes overflow
    • isError

      public boolean isError()
      Tells whether or not this object describes an error condition.
      Returns:
      true if, and only if, this object denotes either a malformed-input error or an unmappable-character error
    • isMalformed

      public boolean isMalformed()
      Tells whether or not this object describes a malformed-input error.
      Returns:
      true if, and only if, this object denotes a malformed-input error
    • isUnmappable

      public boolean isUnmappable()
      Tells whether or not this object describes an unmappable-character error.
      Returns:
      true if, and only if, this object denotes an unmappable-character error
    • length

      public int length()
      Returns the length of the erroneous input described by this object  (optional operation).
      Returns:
      The length of the erroneous input, a positive integer
      Throws:
      UnsupportedOperationException - If this object does not describe an error condition, that is, if the isError does not return true
    • malformedForLength

      public static CoderResult malformedForLength(int length)
      Static factory method that returns the unique object describing a malformed-input error of the given length.
      Parameters:
      length - The given length
      Returns:
      The requested coder-result object
    • unmappableForLength

      public static CoderResult unmappableForLength(int length)
      Static factory method that returns the unique result object describing an unmappable-character error of the given length.
      Parameters:
      length - The given length
      Returns:
      The requested coder-result object
    • throwException

      public void throwException() throws CharacterCodingException
      Throws an exception appropriate to the result described by this object.
      Throws:
      BufferUnderflowException - If this object is UNDERFLOW
      BufferOverflowException - If this object is OVERFLOW
      MalformedInputException - If this object represents a malformed-input error; the exception's length value will be that of this object
      UnmappableCharacterException - If this object represents an unmappable-character error; the exception's length value will be that of this object
      CharacterCodingException - MalformedInputException if this object represents a malformed-input error; UnmappableCharacterException if this object represents an unmappable-character error