Java Image I/O API 가이드:4 - Image I/O 플러그 인의 작성 - xrath.com 에서 번역됨

목차 | 전의 항목 | 다음의 항목 | JavaTM Image I/O API 가이드

제 4 장

# Image I/O 플러그 인의 작성

## 4.1 플러그 인의 개념

> Image I/O API 는, 개발자가 누구라도 독자적인 「플러그 인」을 추가할 수 있는, 플러그 인 가능한 시스템로서 설계되고 있습니다. 플러그 인은, Java 언어 클래스세트로서 정의됩니다. 그러한 클래스는, 실행시에 API 에 로드 되어 API 에 기능을 추가할 수가 있습니다. Java Image I/O API 가 관계하는 범위에서는, 플러그 인은, 새로운 파일 형식으로부터 이미지 데이터를 읽어들이는 기능, 새로운 파일 형식에 이미지 데이터를 기입하는 기능, 2 개의 파일 형식간에 이미지 이외의 메타데이타를 「변환한다」기능, 및 새로운 데이터 소스로부터 스트리밍 데이터를 읽어들이거나 새로운 데이터 sink에 스트리밍 데이터를 기입하거나 하는 기능을 제공할 수가 있습니다. 기존의 플러그 인과 같은 파일 형식용으로 플러그 인을 제공하는 일도 가능합니다. 그 목적은, 퍼포먼스의 개선, 기능의 추가, 혹은, 그 파일 형식에 포함된 데이터를 다른 방법으로 표시하는 것 등입니다.

> 가동중의 JavaTM 가상 머신* 에 플러그 인을 추가할 수 있도록(듯이) 하려면 , 그 플러그 인을 Java 바이트 코드 파일 (. 클래스 파일)에 컴파일 해 두지 않으면 안됩니다. 이 클래스 파일에는, API 에 의해 정의되고 있는 다양한 클래스의 서브 클래스의 코드가 들어갑니다. 예를 들어, 이미지를 읽어들이는 기능을 제공하는 플러그 인에는,`javax.imageio.ImageReader` 라고 하는 abstract 클래스의 새로운 서브 클래스가 포함되어 있습니다. 클래스명의 일의성을 보증하려면 , 인터넷의 도메인명을 반대로 해 사용한다고 하는 관례를 채용할 수 있습니다.

> 플러그 인 전체를 로드해 인스턴스 생성하면(자) 부하가 너무 걸리는 일이 있으므로, 그 플러그 인에 대한 정보를 제공하기 위해(때문에), 부가적인 클래스를 「대역」으로서 사용합니다. 이 클래스는, 예를 들어, 플러그 인을 실제로 인스턴스 생성하기 전에, 그 플러그 인에 의해 처리할 수 있는 파일 형식을 판별하기 위해서 사용할 수 있습니다.

> 이 「대역」객체는 경량이므로, Java 가상 머신의 1 회의 기동의 범위내에서 이 API 가 사용될 때마다 로드해 인스턴스를 1 개 생성해도 부하가 너무 걸리지 않습니다. 이용 가능한 서비스에 대한 정보를 제공하기 위해서 작은 클래스를 이용한다고 하는 이 패턴을, 「서비스 프로바이더 인터페이스」라고 합니다.

*이 Web 사이트에서는, 「Java 가상 머신」또는 「JVM」라고 하는 용어는, Java 플랫폼용의 가상 머신을 나타냅니다.

목차 | 전의 항목 | 다음의 항목

Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.