文字セットのコーダー(デコーダまたはエンコーダ)は、入力バッファ内のバイトまたは文字を消費し、変換して、結果として得られる文字またはバイトを出力バッファに書き込みます。 コーディング・プロセスは、次の4つのカテゴリのいずれかで終了します。なお、これらは、このクラスのインスタンスによって表されます。
アンダーフローは、処理する入力がこれ以上なくなった場合、または入力内容が不完全で追加入力が必要な場合に報告されます。 この条件は、
isUnderflow
メソッドがtrue
を返す一意の結果オブジェクトUNDERFLOW
によって表されます。オーバーフローは、出力バッファの容量が不足したときに報告されます。 この条件は、
isOverflow
メソッドがtrue
を返す一意の結果オブジェクトOVERFLOW
によって表されます。不正入力エラーは、入力ユニットのシーケンスが不正な場合に報告されます。 このようなエラーは、
isMalformed
メソッドがtrue
を返し、length
メソッドが不正な順序の長さを戻す、このクラスのインスタンスによって記述されます。 特定の長さの不正入力エラーはすべて、このクラスの一意のインスタンス1個で表されます。マップ不可文字エラーは、入力ユニットのシーケンスが出力文字セットで表現できない文字であるときに報告されます。 このようなエラーは、
isUnmappable
メソッドがtrue
を返し、そのlength
メソッドがマップ不可能な文字を示す入力シーケンスの長さを返す、このクラスのインスタンスによって記述されます。 特定の長さのマップ不可文字エラーはすべて、このクラスの一意のインスタンス1個で表されます。
便宜上、isError
メソッドは、不正な入力およびマップ不可能な文字エラーを記述する結果オブジェクトに対してtrue
を返し、アンダー・フローまたはオーバーフロー条件を記述する結果オブジェクトに対してはfalse
を返します。
- 導入されたバージョン:
- 1.4
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final CoderResult
オーバーフローを示す結果オブジェクトで、出力バッファの容量が不足している状態を示します。static final CoderResult
アンダーフローを示す結果オブジェクトで、入力バッファが完全に消費された状態か、入力バッファがまだ空でない場合は、追加入力が必要な状態を示します。 -
メソッドのサマリー
修飾子と型メソッド説明boolean
isError()
このオブジェクトがエラー条件を示しているかどうかを判断します。boolean
このオブジェクトが不正入力エラーを示しているかどうかを判断します。boolean
このオブジェクトがオーバーフロー条件を示しているかどうかを判断します。boolean
このオブジェクトがアンダーフロー条件を示しているかどうかを判断します。boolean
このオブジェクトがマップ不可文字エラーを示しているかどうかを判断します。int
length()
このオブジェクトによって表されているエラー入力の長さを返します (オプションの操作)。static CoderResult
malformedForLength
(int length) 指定された長さの不正入力エラーを表した一意のオブジェクトを返すstaticファクトリ・メソッドです。void
このオブジェクトが示す結果に応じて例外をスローします。toString()
このコーダーの結果を説明する文字列を返します。static CoderResult
unmappableForLength
(int length) 指定された長さのマップ不可文字エラーを表した一意のオブジェクトを返すstaticファクトリ・メソッドです。
-
フィールド詳細
-
UNDERFLOW
public static final CoderResult UNDERFLOWアンダーフローを示す結果オブジェクトで、入力バッファが完全に消費された状態か、入力バッファがまだ空でない場合は、追加入力が必要な状態を示します。 -
OVERFLOW
public static final CoderResult OVERFLOWオーバーフローを示す結果オブジェクトで、出力バッファの容量が不足している状態を示します。
-
-
メソッドの詳細
-
toString
-
isUnderflow
public boolean isUnderflow()このオブジェクトがアンダーフロー条件を示しているかどうかを判断します。- 戻り値:
- このオブジェクトがアンダー・フローを示している場合のみ、
true
-
isOverflow
public boolean isOverflow()このオブジェクトがオーバーフロー条件を示しているかどうかを判断します。- 戻り値:
- このオブジェクトがオーバーフローを示している場合のみ、
true
-
isError
public boolean isError()このオブジェクトがエラー条件を示しているかどうかを判断します。- 戻り値:
- このオブジェクトが不正な入力エラーまたはマップ不可能な文字エラーを示す場合のみ、
true
-
isMalformed
public boolean isMalformed()このオブジェクトが不正入力エラーを示しているかどうかを判断します。- 戻り値:
true
:このオブジェクトが不正な入力エラーを示している場合のみ、
-
isUnmappable
public boolean isUnmappable()このオブジェクトがマップ不可文字エラーを示しているかどうかを判断します。- 戻り値:
- このオブジェクトがマップ不可能な文字エラーを示す場合のみ、
true
-
length
public int length()このオブジェクトによって表されているエラー入力の長さを返します (オプションの操作)。- 戻り値:
- エラー入力の長さ(正の整数)
- 例外:
UnsupportedOperationException
- このオブジェクトがエラー条件を示していない場合、つまり、isError
がtrue
を返さない場合
-
malformedForLength
public static CoderResult malformedForLength(int length) 指定された長さの不正入力エラーを表した一意のオブジェクトを返すstaticファクトリ・メソッドです。- パラメータ:
length
- 指定された長さ- 戻り値:
- 要求されたCoder Resultオブジェクト
-
unmappableForLength
public static CoderResult unmappableForLength(int length) 指定された長さのマップ不可文字エラーを表した一意のオブジェクトを返すstaticファクトリ・メソッドです。- パラメータ:
length
- 指定された長さ- 戻り値:
- 要求されたCoder Resultオブジェクト
-
throwException
public void throwException() throws CharacterCodingExceptionこのオブジェクトが示す結果に応じて例外をスローします。- 例外:
BufferUnderflowException
- このオブジェクトがUNDERFLOW
の場合BufferOverflowException
- このオブジェクトがOVERFLOW
の場合MalformedInputException
- このオブジェクトが不正入力エラーを示す場合、例外の長さの値はこのオブジェクトの長さと同じになるUnmappableCharacterException
- このオブジェクトがマッピングできない文字エラーを表す場合、例外の長さの値はこのオブジェクトのエラーになりますCharacterCodingException
- このオブジェクトが不正な入力エラーを表す場合はMalformedInputException
、このオブジェクトがマップ不可能な文字エラーを表す場合はUnmappableCharacterException
-