public class CoderResult extends Object
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.
Modifier and Type | Field | Description |
---|---|---|
static final CoderResult |
OVERFLOW |
Result object indicating overflow, meaning that there is insufficient room in the output buffer. |
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. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
isError() |
Tells whether or not this object describes an error condition. |
boolean |
isMalformed() |
Tells whether or not this object describes a malformed-input error. |
boolean |
isOverflow() |
Tells whether or not this object describes an overflow condition. |
boolean |
isUnderflow() |
Tells whether or not this object describes an underflow condition. |
boolean |
isUnmappable() |
Tells whether or not this object describes an unmappable-character error. |
int |
length() |
Returns the length of the erroneous input described by this object (optional operation). |
static CoderResult |
malformedForLength |
Static factory method that returns the unique object describing a malformed-input error of the given length. |
void |
throwException() |
Throws an exception appropriate to the result described by this object. |
String |
toString() |
Returns a string describing this coder result. |
static CoderResult |
unmappableForLength |
Static factory method that returns the unique result object describing an unmappable-character error of the given length. |
public static final CoderResult UNDERFLOW
public static final CoderResult OVERFLOW
public String toString()
public boolean isUnderflow()
true
if, and only if, this object denotes underflowpublic boolean isOverflow()
true
if, and only if, this object denotes overflowpublic boolean isError()
true
if, and only if, this object denotes either a malformed-input error or an unmappable-character errorpublic boolean isMalformed()
true
if, and only if, this object denotes a malformed-input errorpublic boolean isUnmappable()
true
if, and only if, this object denotes an unmappable-character errorpublic int length()
UnsupportedOperationException
- If this object does not describe an error condition, that is, if the isError
does not return true
public static CoderResult malformedForLength(int length)
length
- The given lengthpublic static CoderResult unmappableForLength(int length)
length
- The given lengthpublic void throwException() throws CharacterCodingException
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 objectUnmappableCharacterException
- If this object represents an unmappable-character error; the exception's length value will be that of this objectCharacterCodingException
- MalformedInputException
if this object represents a malformed-input error; UnmappableCharacterException
if this object represents an unmappable-character error
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/charset/CoderResult.html