Encoder

Encoder (빈 상태 인코더)

JavaBeans들의 상태를 그 공개 API 관점에서 인코딩한 파일이나 스트림을 만드는 데 사용할 수 있는 클래스예요. Encoder는 영속성 델리게이트와 함께, 객체 그래프를 그것을 다시 만들 수 있는 StatementExpression의 연속으로 분해하는 역할을 해요.

출처: Java API Reference

본문

하위 클래스는 보통 이 표현식들에 대해 Java 소스 코드나 XML 같은 사람이 읽을 수 있는 형식의 구문을 제공해요. XMLEncoder가 대표적인 하위 클래스예요.

주요 메서드는 다음과 같아요.

public Encoder()

protected void writeObject(Object o)
public void setExceptionListener(ExceptionListener exceptionListener)
public ExceptionListener getExceptionListener()
public PersistenceDelegate getPersistenceDelegate(Class<?> type)
public void setPersistenceDelegate(Class<?> type, PersistenceDelegate delegate)
public Object remove(Object oldInstance)
public Object get(Object oldInstance)
  • writeObject() — 객체를 인코딩 스트림에 기록해요.
  • set/getExceptionListener() — 인코딩 중 발생하는 예외를 처리할 리스너를 설정하거나 얻어요.
  • get/setPersistenceDelegate(type) — 특정 타입에 대한 영속성 델리게이트를 얻거나 설정해요.
  • remove(oldInstance) — 이전 인스턴스를 제거하고, 인코딩된 표현을 생성할 때 예외적으로 이를 다시 만들지 않게 해요.
  • get(oldInstance) — 이전 인스턴스에 대한 인코딩된 값(새 인스턴스)을 반환해요.

이 클래스는 객체 그래프를 분석해 재구성 가능한 문장들로 바꾸는 영속화의 핵심 클래스예요.

더 알아보기 (Learn more)

Java 공식 API