Class CoderResult
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, whoseisUnderflowmethod returnstrue.Overflow is reported when there is insufficient room remaining in the output buffer. This condition is represented by the unique result object
OVERFLOW, whoseisOverflowmethod returnstrue.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
isMalformedmethod returnstrueand whoselengthmethod 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
isUnmappablemethod returnstrueand whoselengthmethod 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
FieldsModifier and TypeFieldDescriptionstatic final CoderResultResult object indicating overflow, meaning that there is insufficient room in the output buffer.static final CoderResultResult 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 TypeMethodDescriptionbooleanisError()Tells whether or not this object describes an error condition.booleanTells whether or not this object describes a malformed-input error.booleanTells whether or not this object describes an overflow condition.booleanTells whether or not this object describes an underflow condition.booleanTells whether or not this object describes an unmappable-character error.intlength()Returns the length of the erroneous input described by this object (optional operation).static CoderResultmalformedForLength(int length) Static factory method that returns the unique object describing a malformed-input error of the given length.voidThrows an exception appropriate to the result described by this object.toString()Returns a string describing this coder result.static CoderResultunmappableForLength(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, waitModifier and TypeMethodDescriptionprotected Objectclone()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.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(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 bynotifyornotifyAll) or the expiration of the timeout.final voidwait(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 bynotifyornotifyAll) or the expiration of the timeout.
-
Field Details
-
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
Result object indicating overflow, meaning that there is insufficient room in the output buffer.
-
-
Method Details
-
toString
-
isUnderflow
public boolean isUnderflow()Tells whether or not this object describes an underflow condition.- Returns:
trueif, and only if, this object denotes underflow
-
isOverflow
public boolean isOverflow()Tells whether or not this object describes an overflow condition.- Returns:
trueif, and only if, this object denotes overflow
-
isError
public boolean isError()Tells whether or not this object describes an error condition.- Returns:
trueif, 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:
trueif, 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:
trueif, 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 theisErrordoes not returntrue
-
malformedForLength
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
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
Throws an exception appropriate to the result described by this object.- Throws:
BufferUnderflowException- If this object isUNDERFLOWBufferOverflowException- If this object isOVERFLOWMalformedInputException- 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-MalformedInputExceptionif this object represents a malformed-input error;UnmappableCharacterExceptionif this object represents an unmappable-character error
-