CoderResult — 코더의 결과 상태에 대한 설명

CoderResult — 코더의 결과 상태에 대한 설명

CoderResult는 코더(coder)의 결과 상태를 설명하는 객체예요. 문자셋 코더, 즉 디코더나 인코더는 입력 버퍼에서 바이트(또는 문자)를 소비하고, 변환하며, 결과 문자(또는 바이트)를 출력 버퍼에 써요.

출처: Java API Reference

본문

public class CoderResult extends Object

코더의 결과 상태를 설명하는 클래스예요. 코딩 프로세스는 네 가지 범주의 이유로 종료되며, 이 클래스의 인스턴스로 설명돼요:

  • Underflow(언더플로) — 처리할 입력이 더 이상 없거나 입력이 부족해 추가 입력이 필요할 때 보고돼요. 이 조건은 고유한 결과 객체 UNDERFLOW로 표현되며, 그 isUnderflow 메서드가 true를 반환해요.
  • Overflow(오버플로) — 출력 버퍼에 공간이 부족할 때 보고돼요. 고유한 결과 객체 OVERFLOW로 표현되며, isOverflow 메서드가 true를 반환해요.
  • Malformed-input error(잘못된 입력 오류) — 입력 단위 시퀀스가 잘 구성되지 않았을 때 보고돼요. isMalformedtrue이고 length 메서드가 잘못된 시퀀스의 길이를 반환하는 인스턴스로 설명돼요.
  • Unmappable-character error(매핑 불가 문자 오류) — 입력 단위 시퀀스가 출력 문자셋에서 표현할 수 없는 문자를 나타낼 때 보고돼요. isUnmappabletrue인 인스턴스로 설명돼요.

편의를 위해 isError 메서드는 잘못된 입력 및 매핑 불가 문자 오류를 설명하는 결과 객체에 대해 true를, underflow나 overflow 조건에 대해서는 false를 반환해요. Java 1.4부터 사용할 수 있어요.

필드

수식자와 타입 필드 설명
static final CoderResult OVERFLOW 출력 버퍼에 공간이 부족함을 나타내는 결과 객체
static final CoderResult UNDERFLOW 입력 버퍼가 완전히 소비됐거나, 입력 버퍼가 아직 비어 있지 않으면 추가 입력이 필요함을 나타내는 결과 객체

메서드 요약

  • boolean isError() — 이 객체가 오류 조건을 설명하는지 여부.
  • boolean isMalformed() — 이 객체가 잘못된 입력 오류를 설명하는지 여부.
  • boolean isOverflow() — 이 객체가 overflow 조건을 설명하는지 여부.
  • boolean isUnderflow() — 이 객체가 underflow 조건을 설명하는지 여부.
  • boolean isUnmappable() — 이 객체가 매핑 불가 문자 오류를 설명하는지 여부.
  • int length() — 이 객체가 설명하는 잘못된 입력의 길이를 반환해요 (선택 연산). isErrortrue를 반환하지 않으면 UnsupportedOperationException을 던져요.
  • static CoderResult malformedForLength(int length) — 주어진 길이의 잘못된 입력 오류를 설명하는 고유 객체를 반환하는 정적 팩토리 메서드.
  • void throwException() — 이 객체가 설명하는 결과에 적절한 예외를 던져요.
  • String toString() — 이 코더 결과를 설명하는 문자열을 반환해요.
  • static CoderResult unmappableForLength(int length) — 주어진 길이의 매핑 불가 문자 오류를 설명하는 고유 결과 객체를 반환하는 정적 팩토리 메서드.

throwException

public void throwException() throws CharacterCodingException

이 객체가 설명하는 결과에 적절한 예외를 던져요.

예외: BufferUnderflowException — 이 객체가 UNDERFLOW인 경우, BufferOverflowExceptionOVERFLOW인 경우, MalformedInputException — 잘못된 입력 오류를 나타내는 경우, UnmappableCharacterException — 매핑 불가 문자 오류를 나타내는 경우

더 알아보기 (Learn more)

Java 공식 API