JavaTM Platform
Standard Ed. 6

java.beans
클래스 DefaultPersistenceDelegate

java.lang.Object 
  상위를 확장 java.beans.PersistenceDelegate 
      상위를 확장 java.beans.DefaultPersistenceDelegate


public class DefaultPersistenceDelegate
extends PersistenceDelegate

DefaultPersistenceDelegate 는, 추상 클래스 PersistenceDelegate 의 구상 구현이며, 정보를 얻을 수 없는 클래스가 디폴트로 사용하는 위양입니다. JavaBeans 규약에 따르는 클래스는,DefaultPersistenceDelegate 에 의해, 특별한 구성을 실시하지 않아도, 버젼의 차이에 의한 영향을 받지 않는 공개 API 베이스의 지속성을 확보할 수가 있습니다.

클래스가 인수 없음의 생성자 을 가지고 있어, Introspector 로부터 반환되는 차례로 설정 메소드와 취득 메소드의 조합을 실시하는 것으로, 그 상태가 정확하게 나타나고 있는 것이 중요한 가정 조건이 됩니다. DefaultPersistenceDelegate 는, JavaBeans 의 코드 불요의 지속성을 제공하는 것 외에 인수로서 프로퍼티의 값을 요구할 뿐(만큼)의 인수없이 없는 생성자 을 가지는 클래스에 지속 기억역을 가져오는 편리한 수단을 제공합니다.

도입된 버젼:
1.4
관련 항목:
DefaultPersistenceDelegate(String[]) , Introspector

생성자 의 개요
DefaultPersistenceDelegate ()
          인수 없음의 생성자 을 가지는 클래스전용으로, 지속적인 위양을 작성합니다.
DefaultPersistenceDelegate (String [] constructorPropertyNames)
          constructorPropertyNames 에 의해 지정된 프로퍼티명을 인수의 값으로 하는 생성자 을 가진 클래스전용으로, 디폴트의 지속적인 위양을 작성합니다.
 
메소드의 개요
protected  void initialize (Class <? > type, Object  oldInstance, Object  newInstance, Encoder  out)
          이 initialize 메소드의 디폴트 구현은, Introspector 에 의해 반환되는 차례로 설정 메소드와 취득 메소드의 조합을 실시하는 것으로, 이 형태의 객체 상태가 모두 공개된 상태로 합니다.
protected  Expression instantiate (Object  oldInstance, Encoder  out)
          이 instantiate 메소드의 디폴트 구현은, 사전 정의 끝난 메소드명 「new」를 포함한 식 (DefaultPersistenceDelegate 의 생성자 으로 지정된 것처럼 인수를 사용해 생성자 을 호출한다)을 돌려줍니다.
protected  boolean mutatesTo (Object  oldInstance, Object  newInstance)
          지정된 생성자 내의 인수의 수가 제로 이외로,oldInstance 클래스가 명시적으로 equals 메소드를 선언하고 있는 경우, 이 메소드의 반환값은 oldInstance.equals(newInstance) 가 됩니다.
 
클래스 java.beans. PersistenceDelegate 로부터 상속된 메소드
writeObject
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

DefaultPersistenceDelegate

public DefaultPersistenceDelegate()
인수 없음의 생성자 을 가지는 클래스전용으로, 지속적인 위양을 작성합니다.

관련 항목:
DefaultPersistenceDelegate(java.lang.String[])

DefaultPersistenceDelegate

public DefaultPersistenceDelegate(String [] constructorPropertyNames)
constructorPropertyNames 에 의해 지정된 프로퍼티명을 인수의 값으로 하는 생성자 을 가진 클래스전용으로, 디폴트의 지속적인 위양을 작성합니다. 생성자 의 인수는, 프로퍼티명이 제공되는 차례로 평가하는 것에 의해 작성됩니다. 이 클래스를 사용해, 특정의 형태를 직렬화할 때 사용하는 단일의 우선 생성자 을 지정하려면 , 생성자 의 인수를 구성하는 프로퍼티명을 기술합니다. 예를 들어, 인수 없음의 생성자 을 정의하지 않는 Font 클래스는, 다음의 지속적인 위양을 사용해 처리할 수 있습니다.
     new DefaultPersistenceDelegate(new String[]{"name", "style", "size"});
 

파라미터:
constructorPropertyNames - 이 생성자 의 인수가 되는 프로퍼티명
관련 항목:
instantiate(java.lang.Object, java.beans.Encoder)
메소드의 상세

mutatesTo

protected boolean mutatesTo(Object  oldInstance,
                            Object  newInstance)
지정된 생성자 내의 인수의 수가 제로 이외로,oldInstance 클래스가 명시적으로 equals 메소드를 선언하고 있는 경우, 이 메소드의 반환값은 oldInstance.equals(newInstance) 가 됩니다. 그 이외의 경우, 이 메소드는, 2 개의 인스턴스의 클래스가 등가인 경우에 true 를 돌려주는 슈퍼 클래스 정의를 사용합니다.

오버라이드(override):
클래스 PersistenceDelegate 내의 mutatesTo
파라미터:
oldInstance - 카피되는 인스턴스
newInstance - 변경되는 인스턴스
반환값:
oldInstance 로 일련의 변경을 적용하는 것에 의해, newInstance 와 등가의 카피를 작성할 수 있는 경우 true.
관련 항목:
DefaultPersistenceDelegate(String[])

instantiate

protected Expression  instantiate(Object  oldInstance,
                                 Encoder  out)
instantiate 메소드의 디폴트 구현은, 사전 정의 끝난 메소드명 「new」를 포함한 식 (DefaultPersistenceDelegate 의 생성자 으로 지정된 것처럼 인수를 사용해 생성자 을 호출한다)을 돌려줍니다.

정의:
클래스 PersistenceDelegate 내의 instantiate
파라미터:
oldInstance - 인스턴스가 생성되는 인스턴스
out - 코드 출력 스트림
반환값:
oldInstance 를 가지는 식
관련 항목:
DefaultPersistenceDelegate(String[])

initialize

protected void initialize(Class <? > type,
                          Object  oldInstance,
                          Object  newInstance,
                          Encoder  out)
initialize 메소드의 디폴트 구현은, Introspector 에 의해 반환되는 차례로 설정 메소드와 취득 메소드의 조합을 실시하는 것으로, 이 형태의 객체 상태가 모두 공개된 상태로 합니다. 프로퍼티 기술자가 Boolean.TRUE 와 등가의 값을 가지는 일시적인 속성을 정의하고 있는 경우는, 그 프로퍼티을 무시합니다. ObjectOutputStream 가 사용하는 필드 수식자에 의해, 「일시적」이라고 하는 말의 사용법이 완전히 다른 점에 주의해 주세요.

비일시적인 프로퍼티 마다,oldInstance 에 인수 없음의 취득 메소드를 적용하는 식이 작성됩니다. 인스턴스를 직렬화하면(자), 이 식의 값이 그 프로퍼티치가 됩니다. 복제된 환경에서, 이 식의 값에 의해 타겟의 값이 변화하는 경우 (mutatesTo), 새로운 값은 낡은 값과 등가가 되도록(듯이) 초기화됩니다. 이 경우, 프로퍼티치는 변경되지 않기 때문에, 대응하는 설정 메소드를 호출할 필요는 없습니다. 또, 문장도 일절 발행되지 않습니다. 그러나, 상기 이외의 경우, 이 값의 식은 다른 식 (일반적으로은 생성자 )에서 옮겨놓을 수 있어 객체에 새로운 프로퍼티의 값을 인스톨 하는 목적으로, 대응하는 설정 메소드가 불려 갑니다. 이 schema는, 이 위양을 사용해, 스트림의 출력으로부터 디폴트의 정보를 삭제합니다.

이러한 문장이 실행되는 출력 스트림에게 건네질 때,newInstance 에 대한 부작용이 발생합니다. 일반적으로, 이것은 서로 의존하는 값을 가지는 프로퍼티의 문제입니다. 그러나, 이것에 의해, 출력에 기입하지 않으면 안 되는 문장이 적게 되어, 직렬화 처리가 용이하게 된다고 하는 이점도 있습니다. 일반적으로는, 상호의존의 관계에 있는 프로퍼티을 처리하는 작업의 문제는, 후속의 프로퍼티의 값에 의존하지 않게 클래스내의 프로퍼티의 순서를 결정하는 작업의 문제가 됩니다.

오버라이드(override):
클래스 PersistenceDelegate 내의 initialize
파라미터:
oldInstance - 카피되는 인스턴스
newInstance - 변경되는 인스턴스
out - 초기화문이 기입해지는 스트림
관련 항목:
Introspector.getBeanInfo(java.lang.Class) , PropertyDescriptor

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.