요소 팩토리
ID:
org.eclipse.ui.elementFactories
설명:
이 확장점은 요소 팩토리를 Workbench에
추가하는 데 사용됩니다. 요소 팩토리를
사용하여 Workbench 종료 중에도 지속되는 IAdaptable 오브젝트를 다시 작성합니다.
한 예제로서 요소 팩토리는 편집기 입력을 지속시키는 데 사용됩니다. 편집기의 입력은
org.eclipse.ui.EditorInput을 구현해야 합니다.
편집기 내의 IEditorInput 라이프 사이클에는 여러 단계가 있습니다.
-
편집기를 작성하는 중에 편집기의 초기 입력이 전달됩니다.
-
시스템 종료 시 Workbench 상태를 캡처합니다.
이 프로세스에서 Workbench는 열린 편집기와 해당 입력에 대한 메멘토를 작성합니다. 입력은
팩토리 ID와 시작 시 요소를 다시 작성하는 데 필요한 기본 데이터를 포함하는 두 부분의 메멘토로
저장됩니다. 자세한 정보는 org.eclipse.ui.IPersistableElement에 대한 문서를 참조하십시오.
-
시작할 때 Workbench 상태를 읽고 이전 세션의 편집기를 다시 작성합니다.
이 프로세스에서 Workbench는 각각 열린 편집기에 대한 입력 요소를 다시 작성합니다.
이를 위해 Workbench는 입력 요소의 원래 팩토리 ID를 레지스트리에 정의된 구체적인 팩토리 클래스로 맵핑합니다.
맵핑이 존재하면 팩토리 클래스는 올바른 것이며 팩토리 클래스의 인스턴스가 작성됩니다.
그런 다음 Workbench는 메멘토에 있는 나머지 원시 데이터에서 원래 요소를 다시 작성할지를 팩토리에게 질문합니다.
결과로 생긴 IAdaptable은 IEditorInput으로 캐스트되고 새로운 편집기로 전달됩니다.
구성 마크업
<!ELEMENT extension (factory*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - 대상 확장점의 완전한 ID
- id - 확장 인스턴스의 선택적 ID
- name - 확장 인스턴스의 선택적 이름
<!ELEMENT factory EMPTY>
<!ATTLIST factory
id CDATA #REQUIRED
class CDATA #REQUIRED>
- id - 해당 팩토리를 식별하는 데 사용하는 고유 이름.
- class - org.eclipse.ui.IElementFactory를 구현하는 클래스의 완전한 이름
예제:
다음은 요소 팩토리 확장에 관한 예제입니다.
<extension
point =
"org.eclipse.ui.elementFactories"
>
<factory
id =
"com.xyz.ElementFactory"
class=
"com.xyz.ElementFactory"
>
</factory>
</extension>
API 정보:
class 속성 값은
org.eclipse.ui.IElementFactory를 구현하는 클래스의 완전한 이름이어야
합니다. 이 클래스의 인스턴스에서 Workbench 메멘토의 IAdaptable 오브젝트를 작성해야 합니다.
기본 제공 구현:
Workbench에서는
IResource 팩토리를 제공합니다.
Java 모델과 같은 다른 오브젝트 모델에 있는 다른 IAdaptable 유형을 다시 작성하려면 다른 팩토리를 추가해야 합니다.
Copyright (c) 2002, 2004 IBM Corporation and others.
All rights reserved. 본 프로그램 및 본 프로그램에 동봉되는 자료는 본 배포물에 동봉되는 Eclipse Public License v1.0의 조항에 따라 사용해야 하며
웹 사이트(http://www.eclipse.org/legal/epl-v10.html)에서도 관련 사항을 참조할 수 있습니다.