GnuSmalltalkUsersGuide:BaseChapter 203
Jump to navigation
Jump to search
- VersionableObjectProxy
VersionableObjectProxy
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: NullProxy
범주: 스트림-파일
- 나는 프로그램이 처리하게 될 객체의 표현에 대한 여러 버전을 허용하기 위해 추가 정보를 보관하는 프록시이다. VersionableObjectProxies는 이전 버전과 호환이 되므로, 객체가 애초에 덤프되었을 당시 해당 클래스에 대해 VersionableObjectProxy를 사용하지 않았다 하더라도 버저닝을 지원할 수 있다. VersionableObjectProxy는 여러 버전에 걸쳐 모양을 변형시킨 클래스는 지원하지 않는다. 상세한 정보는 메서드 주석을 참조하라.
VersionableObjectProxy 클래스: 저장하기와 복구하기
to
loadFrom: anObjectDumper
객체를 검색하라. 버전 번호가 만일 클래스가 응답한 -#binaryRepresentationVersion에 일치하지 않을 경우 클래스의 #convertFromVersion:withFixedVariables:instanceVariables:for: 메서드를 호출하라. 보관된 버전 번호는 해당 메서드로 전달되는 첫 번째 매개변수가 될 것이며 (보관된 객체가 VersionableObjectProxy를 사용하지 않은 경우엔 nil이 될 것), 나머지 매개변수들은 각각 고정 인스턴스 변수, 색인 인스턴스 변수(클래스가 고정되지 않은 경우 nil이 될 것), ObjectDumper 자체로 이루어질 것이다. VersionableObjectProxy가 사용되지 않은 경우 클래스로 #nonVersionedInstSize가 전송되어 non-versioned(버저닝되지 않은) 객체를 위해 보관된 고정 인스턴스 변수의 개수를 검색할 것이다.
VersionableObjectProxy: 저장하기와 복구하기
dumpTo: anObjectDumper
추가 버전 정보를 이용해 객체를 저장하라.