DefaultPersistenceDelegate

DefaultPersistenceDelegate (기본 영속성 델리게이트)

추상 클래스 PersistenceDelegate의 구체적인 구현이에요. 정보가 없는 클래스에 대해 기본적으로 사용되는 델리게이트랍니다. JavaBeans 규약을 따르는 클래스에 대해 클래스별 설정 없이도 버전에 강한(version resilient) 공개 API 기반 영속성을 제공해요.

출처: Java API Reference

본문

핵심 가정은 두 가지예요. 클래스가 기본 생성자(nullary constructor)를 갖고, 그 상태가 Introspector가 반환하는 순서의 "setter"와 "getter" 메서드 쌍으로 정확히 표현된다는 것이에요. 이 규약을 지키는 JavaBeans는 코드 작성 없이도 영속화할 수 있어요.

또한 기본 생성자가 없지만 생성자 인자로 일부 속성값만 요구하는 클래스에 대해서도 편리하게 영속 저장을 지원해요. 생성자 속성 이름을 지정하려면 DefaultPersistenceDelegate(String[]) 생성자를 사용하면 돼요.

주요 생성자와 메서드는 다음과 같아요.

public DefaultPersistenceDelegate()
public DefaultPersistenceDelegate(String[] constructorPropertyNames)

protected boolean mutatesTo(Object oldInstance, Object newInstance)
protected Expression instantiate(Object oldInstance, Encoder out)
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out)
  • DefaultPersistenceDelegate() — 기본 설정으로 생성해요.
  • DefaultPersistenceDelegate(constructorPropertyNames) — 생성자 매개변수로 사용할 속성 이름들을 지정해요.
  • mutatesTo() — 이 인스턴스가 다른 인스턴스로 변화할 수 있는지 여부를 판단해요.
  • instantiate() — 객체를 다시 만들 수 있는 Expression을 생성해요.
  • initialize() — 객체의 상태를 복원하기 위한 초기화를 수행해요.

XMLEncoder 등으로 빈을 XML로 저장할 때 내부에서 사용돼요.

더 알아보기 (Learn more)

Java 공식 API