Class CoderResult

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

public class CoderResult
extends Object
Used to indicate the result of encoding/decoding. There are four types of results:
  1. UNDERFLOW indicates that all input has been processed but more input is required. It is represented by the unique object CoderResult.UNDERFLOW.
  2. OVERFLOW indicates an insufficient output buffer size. It is represented by the unique object CoderResult.OVERFLOW.
  3. A malformed-input error indicates that an unrecognizable sequence of input units has been encountered. Get an instance of this type of result by calling CoderResult.malformedForLength(int) with the length of the malformed-input.
  4. An unmappable-character error indicates that a sequence of input units can not be mapped to the output charset. Get an instance of this type of result by calling CoderResult.unmappableForLength(int) with the input sequence size indicating the identity of the unmappable character.
  • Field Summary

    Fields
    Modifier and Type Field Description
    static CoderResult OVERFLOW
    Result object used to indicate that the output buffer does not have enough space available to store the result of the encoding/decoding.
    static CoderResult UNDERFLOW
    Result object indicating that there is insufficient data in the encoding/decoding buffer or that additional data is required.
  • Method Summary

    Modifier and Type Method Description
    boolean isError()
    Returns true if this result represents a malformed-input error or an unmappable-character error.
    boolean isMalformed()
    Returns true if this result represents a malformed-input error.
    boolean isOverflow()
    Returns true if this result is an overflow condition.
    boolean isUnderflow()
    Returns true if this result is an underflow condition.
    boolean isUnmappable()
    Returns true if this result represents an unmappable-character error.
    int length()
    Returns the length of the erroneous input.
    static CoderResult malformedForLength​(int length)
    Gets a CoderResult object indicating a malformed-input error.
    void throwException()
    Throws an exception corresponding to this coder result.
    String toString()
    Returns a text description of this result.
    static CoderResult unmappableForLength​(int length)
    Gets a CoderResult object indicating an unmappable character error.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • UNDERFLOW

      public static final CoderResult UNDERFLOW
      Result object indicating that there is insufficient data in the encoding/decoding buffer or that additional data is required.
    • OVERFLOW

      public static final CoderResult OVERFLOW
      Result object used to indicate that the output buffer does not have enough space available to store the result of the encoding/decoding.
  • Method Details

    • malformedForLength

      public static CoderResult malformedForLength​(int length) throws IllegalArgumentException
      Gets a CoderResult object indicating a malformed-input error.
      Parameters:
      length - the length of the malformed-input.
      Returns:
      a CoderResult object indicating a malformed-input error.
      Throws:
      IllegalArgumentException - if length is non-positive.
    • unmappableForLength

      public static CoderResult unmappableForLength​(int length) throws IllegalArgumentException
      Gets a CoderResult object indicating an unmappable character error.
      Parameters:
      length - the length of the input unit sequence denoting the unmappable character.
      Returns:
      a CoderResult object indicating an unmappable character error.
      Throws:
      IllegalArgumentException - if length is non-positive.
    • isUnderflow

      public boolean isUnderflow()
      Returns true if this result is an underflow condition.
    • isError

      public boolean isError()
      Returns true if this result represents a malformed-input error or an unmappable-character error.
    • isMalformed

      public boolean isMalformed()
      Returns true if this result represents a malformed-input error.
    • isOverflow

      public boolean isOverflow()
      Returns true if this result is an overflow condition.
    • isUnmappable

      public boolean isUnmappable()
      Returns true if this result represents an unmappable-character error.
    • length

      public int length() throws UnsupportedOperationException
      Returns the length of the erroneous input. The length is only meaningful for a malformed-input error or an unmappable character error.
      Throws:
      UnsupportedOperationException - if this result is an overflow or underflow.
    • throwException

      Throws an exception corresponding to this coder result.
      Throws:
      BufferUnderflowException - in case this is an underflow.
      BufferOverflowException - in case this is an overflow.
      UnmappableCharacterException - in case this is an unmappable-character error.
      MalformedInputException - in case this is a malformed-input error.
      CharacterCodingException - the default exception.
    • toString

      public String toString()
      Returns a text description of this result.
      Overrides:
      toString in class Object
      Returns:
      a text description of this result.