JavaTM Platform
Standard Ed. 6

javax.imageio.spi
클래스 ImageReaderSpi

java.lang.Object 
  상위를 확장 javax.imageio.spi.IIOServiceProvider 
      상위를 확장 javax.imageio.spi.ImageReaderWriterSpi 
          상위를 확장 javax.imageio.spi.ImageReaderSpi
모든 구현된 인터페이스:
RegisterableService


public abstract class ImageReaderSpi
extends ImageReaderWriterSpi

ImageReader 의 서비스 프로바이더 인터페이스 (SPI)입니다. 서비스 프로바이더 클래스의 자세한 것은,IIORegistry 클래스의 클래스 코멘트를 참조해 주세요.

ImageReaderSpi 는, 관련하는 ImageReader 클래스에 관한 복수의 정보 타입을 제공합니다.

SPI 클래스를 정의한 벤더명으로 클래스의 간결한 설명은,getVendorName,getDescription, 및 getVersion 메소드로 취득할 수 있습니다. 이러한 메소드는, 국제화 해 로케일 고유의 출력을 실시하는 것이 가능합니다. 이러한 메소드의 주된 목적은, pop-up menu등의 리스트 편성에 사용 가능해, 간결하고 판독 가능한 정보를 제공하는 것입니다.

서비스에 관련하는 형식명, 파일접미사(suffix), 및 MIME 타입의 리스트는, 각각 getFormatNames,getFileSuffixes, 및 getMIMETypes 메소드로 취득할 수 있습니다. 이러한 메소드는, 수동의 형식 선택, 파일의 명명, 또는 MIME 관련짓고 (예를 들어, HTTP 경유 또는 전자 메일 첨부의 파일 액세스)에 근거해 특정의 파일 또는 스트림을 디코드할 때, 후보가 되는 ImageReader 의 식별로 사용할 수 있습니다.

특정의 데이터 스트림을 구문 분석 할 수 있을 가능성의 높은 ImageReader 를 판정하기 위한 , 보다 신뢰성의 높은 수단이 canDecodeInput 메소드에 준비되어 있습니다. 서비스 프로바이더는, 이 메소드를 사용해 실제의 스트림 내용을 검증할 수 있습니다.

이 서비스 프로바이더에 관련하는 ImageReader 클래스의 인스턴스는,createReaderInstance 메소드를 호출하는 것으로 취득할 수 있습니다. 네이티브 라이브러리의 로드나 대규모 테이블 작성등의 부하의 높은 초기화는, 적어도 이 메소드가 최초로 불려 갈 때까지 연기할 필요가 있습니다.

관련 항목:
IIORegistry , ImageReader

필드의 개요
protected  Class [] inputTypes
          getInputTypes 로부터 반환되는 Class 객체의 배열로, 처음은 null 입니다.
static Class [] STANDARD_INPUT_TYPE
          getInputTypes 로부터 반환되는 단일 요소의 배열로, 처음은 ImageInputStream.class 가 포함되고 있습니다.
protected  String [] writerSpiNames
          getImageWriterSpiNames 로부터 반환되는 캐릭터 라인의 배열로, 처음은 null 입니다.
 
클래스 javax.imageio.spi. ImageReaderWriterSpi 로부터 상속된 필드
extraImageMetadataFormatClassNames , extraImageMetadataFormatNames , extraStreamMetadataFormatClassNames , extraStreamMetadataFormatNames , MIMETypes , names , nativeImageMetadataFormatClassName , nativeImageMetadataFormatName , nativeStreamMetadataFormatClassName , nativeStreamMetadataFormatName , pluginClassName , suffixes , supportsStandardImageMetadataFormat , supportsStandardStreamMetadataFormat
 
클래스 javax.imageio.spi. IIOServiceProvider 로부터 상속된 필드
vendorName , version
 
생성자 의 개요
protected ImageReaderSpi ()
          공백의 ImageReaderSpi 를 구축합니다.
  ImageReaderSpi (String  vendorName, String  version, String [] names, String [] suffixes, String [] MIMETypes, String  readerClassName, Class [] inputTypes, String [] writerSpiNames, boolean supportsStandardStreamMetadataFormat, String  nativeStreamMetadataFormatName, String  nativeStreamMetadataFormatClassName, String [] extraStreamMetadataFormatNames, String [] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String  nativeImageMetadataFormatName, String  nativeImageMetadataFormatClassName, String [] extraImageMetadataFormatNames, String [] extraImageMetadataFormatClassNames)
          지정된 값세트를 사용해 ImageReaderSpi 를 구축합니다.
 
메소드의 개요
abstract  boolean canDecodeInput (Object  source)
          지정된 소스 객체가 이 리더로 지원되는 형식이다고 보여지는 경우에 true 를 돌려줍니다.
 ImageReader createReaderInstance ()
          이 서비스 프로바이더에 관련하는 ImageReader 구현의 인스턴스를 돌려줍니다.
abstract  ImageReader createReaderInstance (Object  extension)
          이 서비스 프로바이더에 관련하는 ImageReader 구현의 인스턴스를 돌려줍니다.
 String [] getImageWriterSpiNames ()
          이 서비스 프로바이더에 관련하는 ImageReader 가 사용하는 내부 메타데이타 표현을 인식 가능한 ImageWriterSpi 클래스 모든 완전 지정명을 포함한 String 배열, 이런 종류의 ImageWriter 가 지정되어 있지 않은 경우는 null 를 돌려줍니다.
 Class [] getInputTypes ()
          리더의 setInput 메소드의 인수에 사용 가능한 객체의 형태를 나타내는 Class 객체의 배열을 돌려줍니다.
 boolean isOwnReader (ImageReader  reader)
          건네받은 ImageReader 객체가 이 서비스 프로바이더에 관련하는 ImageReader 의 인스턴스의 경우는,true 를 돌려줍니다.
 
클래스 javax.imageio.spi. ImageReaderWriterSpi 로부터 상속된 메소드
getExtraImageMetadataFormatNames , getExtraStreamMetadataFormatNames , getFileSuffixes , getFormatNames , getImageMetadataFormat , getMIMETypes , getNativeImageMetadataFormatName , getNativeStreamMetadataFormatName , getPluginClassName , getStreamMetadataFormat , isStandardImageMetadataFormatSupported , isStandardStreamMetadataFormatSupported
 
클래스 javax.imageio.spi. IIOServiceProvider 로부터 상속된 메소드
getDescription , getVendorName , getVersion , onDeregistration , onRegistration
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

STANDARD_INPUT_TYPE

public static final Class [] STANDARD_INPUT_TYPE
getInputTypes 로부터 반환되는 단일 요소의 배열로, 처음은 ImageInputStream.class 가 포함되고 있습니다.


inputTypes

protected Class [] inputTypes
getInputTypes 로부터 반환되는 Class 객체의 배열로, 처음은 null 입니다.


writerSpiNames

protected String [] writerSpiNames
getImageWriterSpiNames 로부터 반환되는 캐릭터 라인의 배열로, 처음은 null 입니다.

생성자 의 상세

ImageReaderSpi

protected ImageReaderSpi()
공백의 ImageReaderSpi 를 구축합니다. 모든 메소드의 작업 버젼을 제공하기 위한 , 인스턴스 변수의 초기화나 메소드 구현의 오버라이드(override)는, 서브 클래스에서 실시할 필요가 있습니다.


ImageReaderSpi

public ImageReaderSpi(String  vendorName,
                      String  version,
                      String [] names,
                      String [] suffixes,
                      String [] MIMETypes,
                      String  readerClassName,
                      Class [] inputTypes,
                      String [] writerSpiNames,
                      boolean supportsStandardStreamMetadataFormat,
                      String  nativeStreamMetadataFormatName,
                      String  nativeStreamMetadataFormatClassName,
                      String [] extraStreamMetadataFormatNames,
                      String [] extraStreamMetadataFormatClassNames,
                      boolean supportsStandardImageMetadataFormat,
                      String  nativeImageMetadataFormatName,
                      String  nativeImageMetadataFormatClassName,
                      String [] extraImageMetadataFormatNames,
                      String [] extraImageMetadataFormatClassNames)
지정된 값세트를 사용해 ImageReaderSpi 를 구축합니다.

파라미터:
vendorName - 벤더명 (null 이외의 String)
version - 버젼 식별자 (null 이외의 String)
names - 형식명을 나타내는 null 이외의 String 배열. 1 개(살) 이상의 엔트리가 존재할 필요가 있는
suffixes - 공통의 파일접미사(suffix)을 나타낸다 String 배열. 접미사(suffix)이 정의되어 있지 않은 경우는, null 를 지정한다. 길이 0 의 배열은 null 에 정규화되는
MIMETypes - 형식의 MIME 타입을 나타낸다 String 배열. MIME 타입이 정의되어 있지 않은 경우는, null 를 지정한다. 길이 0 의 배열은 null 에 정규화되는
readerClassName - 관련한다 ImageReader 클래스의 완전 지정명 (null 이외의 String)
inputTypes - 정당한 입력 타입을 나타내는, 길이 1 이상의 Class 객체의 배열 (null 이외)
writerSpiNames - 관련하는 모든 ImageWriter 의 클래스를 명명하는 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화되는
supportsStandardStreamMetadataFormat - 스트림메타데이타객체가 표준 메타데이타 형식에서 기술된 트리를 사용 가능한가 어떤가를 나타내는 boolean
nativeStreamMetadataFormatName - getNativeStreamMetadataFormatName 로부터 반환되는 String, 또는 null
nativeStreamMetadataFormatClassName - getNativeStreamMetadataFormat 로부터 반환된다 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null
extraStreamMetadataFormatNames - getExtraStreamMetadataFormatNames 로부터 반환되는 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화되는
extraStreamMetadataFormatClassNames - getStreamMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화되는
supportsStandardImageMetadataFormat - 이메이지메타데이타객체가, 표준의 메타데이타 형식에서 기술된 트리를 사용할 수 있을지 어떨지를 나타내는 boolean
nativeImageMetadataFormatName - getNativeImageMetadataFormatName 로부터 반환된다 String, 또는 null
nativeImageMetadataFormatClassName - getNativeImageMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null
extraImageMetadataFormatNames - getExtraImageMetadataFormatNames 로부터 반환된다 String 배열. 길이 0 의 배열은 null 에 정규화되는
extraImageMetadataFormatClassNames - getImageMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화된다
예외:
IllegalArgumentException - vendorNamenull 의 경우
IllegalArgumentException - versionnull 의 경우
IllegalArgumentException - namesnull 또는 길이 0 의 경우
IllegalArgumentException - readerClassNamenull 의 경우
IllegalArgumentException - inputTypesnull 또는 길이 0 의 경우
메소드의 상세

getInputTypes

public Class [] getInputTypes()
리더의 setInput 메소드의 인수에 사용 가능한 객체의 형태를 나타내는 Class 객체의 배열을 돌려줍니다.

ImageInputStream 로부터의 입력을 받을 뿐(만큼)의 대부분의 리더의 경우,ImageInputStream.class 를 포함한 단일 요소의 배열이 돌려주어집니다.

반환값:
길이 1 이상의 Class 객체의, null 이외의 배열

canDecodeInput

public abstract boolean canDecodeInput(Object  source)
                                throws IOException 
지정된 소스 객체가 이 리더로 지원되는 형식이다고 보여지는 경우에 true 를 돌려줍니다. 이 메소드로부터 true 가 돌려주어져도 read에 성공하는 것은 보증되지 않고, 스트림 내용의 간결한 검증에 근거해 성공의 가능성이 꽤 높다고 보여지는 것에 지나지 않습니다. 소스가 ImageInputStream 의 경우, 구현은 일반적으로 스트림의 최초의 수바이트를 체크해, 이 형식에 관련지을 수 있던 「매직 번호」를 확인합니다. 실제의 read가 개시되어도, 디코딩이 완료할 때까지 언제라도 리더는 실패할 가능성이 있습니다.

다른 ImageReaderSpi 가 객체를 디코드할 수 있을지 어떨지 적절히 판정할 수 있도록(듯이), 객체 상태를 방해하지 않는 것이 중요합니다. 특히, 소스가 ImageInputStream 의 경우,mark/reset 의 페어를 사용해 스트림 위치를 보관 유지할 필요가 있습니다.

거의 모든 스트림의 read를 시도할 가능성이 있는 「raw」등의 형식에서는, 보다 적절한 것보다 우선해 불려 가는 것을 피하기 위해서(때문에),false 를 돌려줄 필요가 있습니다.

sourcegetInputTypes 로부터 반환된 클래스의 머지않아도 아닌 경우, 이 메소드는 false 를 돌려줄 뿐입니다.

파라미터:
source - 디코드되는 객체. 일반적으로은 ImageInputStream
반환값:
이 스트림을 디코드 가능한 경우는 true
예외:
IllegalArgumentException - sourcenull 의 경우
IOException - 스트림의 read중에 입출력 에러가 발생했을 경우

createReaderInstance

public ImageReader  createReaderInstance()
                                 throws IOException 
이 서비스 프로바이더에 관련하는 ImageReader 구현의 인스턴스를 돌려줍니다. 반환되는 객체의 초기 상태는,reset 메소드의 호출 후와 같은 상태입니다.

디폴트의 구현에서는,createReaderInstance(null) 를 돌려줄 뿐입니다.

반환값:
ImageReader 인스턴스
예외:
IOException - 리더 클래스의 로드나 초기화, 또는 리더 객체의 인스턴스화나 초기화로 에러가 발생했을 경우

createReaderInstance

public abstract ImageReader  createReaderInstance(Object  extension)
                                          throws IOException 
이 서비스 프로바이더에 관련하는 ImageReader 구현의 인스턴스를 돌려줍니다. 반환되는 객체의 초기 상태는,reset 메소드의 호출 후와 같은 상태입니다.

구축시에 Object 를 플러그 인에 제공할 수 있습니다. 객체의 특성은, 플러그 인에 따라서 다릅니다.

일반적으로, 플러그 인은 return new MyImageReader(this) 등의 코드를 사용해 이 메소드를 구현합니다.

파라미터:
extension - 플러그 인 고유의 확장 객체. null 도 가능
반환값:
ImageReader 인스턴스
예외:
IOException - 리더의 인스턴스화에 실패했을 경우
IllegalArgumentException - 확장 객체가 적절하지 않은 것을 나타내기 위해서(때문에) ImageReader 의 생성자 이 IllegalArgumentException 을 throw 하는 경우

isOwnReader

public boolean isOwnReader(ImageReader  reader)
건네받은 ImageReader 객체가 이 서비스 프로바이더에 관련하는 ImageReader 의 인스턴스의 경우는,true 를 돌려줍니다.

디폴트의 구현에서는, 인수 reader 의 완전 지정 클래스명으로 생성자 에게 건네진 클래스명을 비교합니다. 한층 더 고도의 체크가 필요한 경우는, 이 메소드를 오버라이드(override) 할 수 있습니다.

파라미터:
reader - ImageReader 인스턴스
반환값:
reader 가 인식되는 경우는 true
예외:
IllegalArgumentException - readernull 의 경우

getImageWriterSpiNames

public String [] getImageWriterSpiNames()
이 서비스 프로바이더에 관련하는 ImageReader 가 사용하는 내부 메타데이타 표현을 인식 가능한 ImageWriterSpi 클래스 모든 완전 지정명을 포함한 String 배열, 이런 종류의 ImageWriter 가 지정되어 있지 않은 경우는 null 를 돌려줍니다. null 이외의 값이 반환되는 경우는, 0 이외의 길이가 됩니다.

배열의 최초의 항목은,ImageIO.getImageWriter(ImageReader) 로부터 반환되는 ImageWriter 의 인스턴스화로 사용되기 (위해)때문에, 「우선된다」라이터의 서비스 프로바이더명이 아니면 안됩니다.

이 기구는,ImageReader 로 생성된 픽셀 이외의 메타데이타 (IIOTreeInfo 를 참조)의 내부 구조를 인식하는 ImageWriters 의 취득에 사용할 수 있습니다. ImageReader 로부터 이 데이터를 취득해, 이 메소드로 취득하고 싶은 차이인가의 ImageWriters 에 건네주면(자), 클라이언트 프로그램으로, 모든 메타데이타를 보관 유지하면서, 이미지의 read나 변경, 쓰기 반환을 실시할 수가 있어 메타데이타의 내부 구조나 이미지 형식조차 아무것도 의식할 필요는 없습니다.

반환값:
ImageWriterSpi 의 이름을 포함한다 길이 1 이상의 String 의 배열, 또는 null
관련 항목:
ImageIO.getImageWriter(ImageReader)

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