애플리케이션 확장 레지스트리 필터링
확장 레지스트리는 레지스트리 필터 확장점을 표시합니다. 레지스트리 필터는 클라이언트 애플리케이션용 확장 레지스트리 내 요소를 제거합니다. 클라이언트가 대상 스펙과 일치하는 이름 지정된 레지스트리 인스턴스에서 조작할 때 레지스트리 필터 확장점에 첨부되고 이 인터페이스도 구현하는 확장기능은 필요한 대로 호출됩니다.
확장기능에서 지정된 이름 지정된 인스턴스나 모든 레지스트리 인스턴스에 대해 필터 확장기능을 작성할 수 있습니다. 첫 번째 경우, 필터는 확장 레지스트리의 모든 인스턴스에 적용되며 모든 클라이언트 애플리케이션은 필터를 요청하지 않고 필터를 사용합니다. 후자의 경우, 클라이언트 애플리케이션은 RegistryInstance라는 확장자를 정의하여 레지스트리 이름을 사전 정의해야 하며, 확장 레지스트리에서 표시되는 다른 확장점입니다. 레지스트리 이름이 정의된 후 클라이언트는 이름 지정된 레지스트리 인스턴스를 얻고 해당 레지스트리 인스턴스를 사용할 수 있습니다. 필터 확장기능은 필요에 따라 이름 지정된 레지스트리 인스턴스로 호출될 수 있습니다.
레지스트리 필터 API
지원되는 인수는 다음과 같습니다.
- org.eclipse.core.runtime.IExtension[]
- doFilter(org.eclipse.core.runtime.IExtension[] extensions)
이 코드는 유효한 확장 목록에 포함된 IExtension 오브젝트의 배열을 리턴합니다.
레지스트리 인스턴스 확장점
확장 레지스트리는 RegistryInstance를 표시합니다. 인스턴스 이름은 애플리케이션의 plugin.xml 파일에 선언되며 애플리케이션은 런타임 시 해당 이름에 대한 레지스트리 인스턴스를 요청합니다.