JavaTM Platform
Standard Ed. 6

javax.imageio.spi
클래스 IIORegistry

java.lang.Object 
  상위를 확장 javax.imageio.spi.ServiceRegistry 
      상위를 확장 javax.imageio.spi.IIORegistry


public final class IIORegistry
extends ServiceRegistry

서비스 프로바이더 인스턴스의 레지스트리입니다. 서비스 프로바이더 클래스는, 실행시에 이러한 클래스를 포함한 JAR 파일내의 메타 정보를 사용해 검출할 수 있습니다. 목적은, 비교적 적은 부하로, 사용 가능한 서비스 프로바이더 클래스 모든 로드 및 검사를 실시하는 것입니다. 그 후, 이러한 클래스를 사용해, 실작업을 실행하는 부하의 높은 클래스의 검출 및 인스턴스화를 실행합니다. 이 경우는,ImageReader,ImageWriter,ImageTranscoder,ImageInputStream, 및 ImageOutputStream 의 인스턴스가 됩니다.

시스템의 클래스 패스 (예를 들어, Sun 의 JDK 구현에서는 jre/lib/ext 디렉토리)로 검출된 서비스 프로바이더가, 이 클래스가 인스턴스화 되자마자 자동적으로 로드 됩니다.

registerApplicationClasspathSpis 메소드가 불려 가면(자), 어플리케이션의 클래스 패스의 JAR 파일의 메타 정보 섹션으로 선언된 서비스 프로바이더 인스턴스가 로드 됩니다. 서비스 프로바이더를 선언하기 위해서,services 서브 디렉토리가 각 JAR 파일에 존재하는 META-INF 디렉토리내에 배치됩니다. 이 디렉토리에는, JAR 파일에 1 개 또는 복수의 구현 클래스를 보관 유지하는 각 서비스 프로바이더 인터페이스에 대해서 1 개의 파일이 포함됩니다. 예를 들어, JAR 파일에 ImageReaderSpi 인터페이스를 구현하는 com.mycompany.imageio.MyFormatReaderSpi 라고 하는 클래스가 포함되는 경우, JAR 에는 다음의 이름의 파일이 포함됩니다.

 META-INF/services/javax.imageio.spi.ImageReaderSpi
 
또, 다음의 행이 포함됩니다.
 com.mycompany.imageio.MyFormatReaderSpi
 

서비스 프로바이더 클래스의 특성은, 경량으로 신속한 로드가 가능한 것입니다. 이러한 인터페이스의 구현은, 다른 클래스나 native code에 복잡하게 의존하지 않게 할 필요가 있습니다.

자동적으로 검출되지 않는 서비스 프로바이더를 수동으로 추가하는 일도,ServiceRegistry 클래스의 인터페이스를 사용하는 서비스 프로바이더를 삭제할 수도 있습니다. 따라서, 어플리케이션으로 레지스트리의 내용을 필요에 따라서 커스터마이즈 할 수 있습니다.

서비스 프로바이더 선언의 상세 및 JAR 형식 전반에 대해서는, 「JAR File Specification」를 참조해 주세요.


상자의 클래스의 개요
 
클래스 javax.imageio.spi. ServiceRegistry 로부터 상속된 상자의 클래스/인터페이스
ServiceRegistry.Filter
 
메소드의 개요
static IIORegistry getDefaultInstance ()
          이미지 입출력 API 로 사용되는 디폴트의 IIORegistry 인스턴스를 돌려줍니다.
 void registerApplicationClasspathSpis ()
          어플리케이션의 클래스 패스로 검출된 모든 사용 가능 서비스 프로바이더를, 디폴트의 ClassLoader 를 사용해 등록합니다.
 
클래스 javax.imageio.spi. ServiceRegistry 로부터 상속된 메소드
contains , deregisterAll , deregisterAll , deregisterServiceProvider , deregisterServiceProvider , finalize , getCategories , getServiceProviderByClass , getServiceProviders , getServiceProviders , lookupProviders , lookupProviders , registerServiceProvider , registerServiceProvider , registerServiceProviders , setOrdering , unsetOrdering
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

getDefaultInstance

public static IIORegistry  getDefaultInstance()
이미지 입출력 API 로 사용되는 디폴트의 IIORegistry 인스턴스를 돌려줍니다. 이 인스턴스는 모든 레지스트리 함수로 사용됩니다.

ThreadGroup 는 독자적인 인스턴스를 받습니다. 이것에 의해, 예를 들어 같은 브라우저의 다른 Applet 가 각각 독자적인 레지스트리를 가질 수가 있습니다.

반환값:
현재의 ThreadGroup 의 디폴트 레지스트리

registerApplicationClasspathSpis

public void registerApplicationClasspathSpis()
어플리케이션의 클래스 패스로 검출된 모든 사용 가능 서비스 프로바이더를, 디폴트의 ClassLoader 를 사용해 등록합니다. 이 메소드는 일반적으로 ImageIO.scanForPlugins 메소드로부터 불려 갑니다.

관련 항목:
ImageIO.scanForPlugins() , ClassLoader.getResources(java.lang.String)

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 도 참조해 주세요.