JavaTM Platform
Standard Ed. 6

javax.activation
클래스 MailcapCommandMap

java.lang.Object 
  상위를 확장 javax.activation.CommandMap 
      상위를 확장 javax.activation.MailcapCommandMap


public class MailcapCommandMap
extends CommandMap

MailcapCommandMap 는, abstract 클래스 CommandMap 를 확장합니다. mailcap 파일 (RFC 1524 )에 근거해 구성되어 있는 CommandMap 를 구현합니다. MailcapCommandMap 는, 프로그램에 의해도 구성 파일을 개입시켜도 구성할 수 있습니다.  

mailcap 파일의 검색 순서

MailcapCommandMap 는, 사용자의 시스템의 다양한 장소를 검색해 mailcap 파일의 엔트리를 찾아냅니다. MailcapCommandMap 로 커멘드 검색의 요구가 나오면(자), 다음의 순서로 mailcap 파일을 검색합니다.  

  1. 프로그램에 의해 MailcapCommandMap 인스턴스에 추가된 엔트리
  2. 사용자의 홈 디렉토리에 있는 파일 . mailcap
  3. 파일 <java.home>/lib/mailcap
  4. META-INF/mailcap 라고 하는 파일 또는 자원
  5. META-INF/mailcap.default 라고 하는 파일 또는 자원 (일반적으로은 activation.jar 파일인 만큼 있다)

mailcap 파일의 형식

mailcap 파일은, mailcap 파일 스펙 (RFC 1524 「A User Agent Configuration Mechanism For Multimedia Mail Format Information」)에 준거하고 있지 않으면 안됩니다. 파일 형식은, 특정의 MIME 타입에 대응하는 엔트리로부터 구성됩니다. 일반적으로, 이 스펙에는, 클라이언트 자체가 지정의 MIME 타입을 처리할 수 없을 때에 사용하는 「어플리케이션」이 지정되고 있습니다. MailcapCommandMap 는, mailcap 파일의 파라미터 기구를 사용해 이 스펙을 확장합니다. 이 파라미터 기구를 사용하면(자), JavaBeans(TM) 컴퍼넌트를 MIME 타입의 특정의 커멘드에 대응하도록(듯이) 지정할 수 있습니다.

mailcap 파일이 구문 분석 되면(자), MailcapCommandMap 는 특정의 파라메이타시그니챠, 특히 x-java- 로 시작되는 파라미터명을 식별합니다. MailcapCommandMap 는 이 시그니챠를 사용해, 그 레지스트리에 포함하기 위한 커멘드 엔트리를 찾아냅니다. MailcapCommandMap 는,name 라는 이름의 커멘드를 식별할 경우에,x-java-<name> 라고 하는 파라미터명을 읽어냅니다. namecontent-handler 일 때는, 이 파라미터에 의해 나타난 클래스는 DataContentHandler 로 간주해집니다. 다른 모든 커멘드는, 커멘드명에 관계없이 포괄적으로 처리됩니다. 커멘드의 구현은, JavaBeans(TM) 컴퍼넌트의 완전 지정의 클래스명에 의해 지정됩니다. 예를 들어, 어떠한 데이터를 표시하는 커멘드는,x-java-view=com.foo.ViewBean 와 지정할 수 있습니다.

커멘드명이 fallback-entry 인 경우, 커멘드의 값은 true 또는 false 가 됩니다. 파라미터 x-java-fallback-entry=true 를 포함한 MIME 타입의 엔트리는, 그 MIME 타입의 대체 커멘드를 정의합니다. 이 커멘드는, 비대체의 엔트리를 찾아낼 수가 없는 경우에게만 사용됩니다. 예를 들어,text/*; ; x-java-fallback-entry=true; x-java-view=com.sun.TextViewer 형식의 엔트리는, 임의의 텍스트 MIME 타입으로 사용하는 표시 커멘드를 지정합니다. 이 표시 커멘드는, MIME 타입의 비대체 표시 커멘드가 발견되지 않는 경우에게만 사용됩니다.

MailcapCommandMap 에 대응하고 있는 mailcap 파일의 일반적인 형식은 다음과 같습니다.

# Comments begin with a '#' and continue to the end of the line.
<mime type>; ; <parameter list>
# Where a parameter list consists of one or more parameters,
# where parameters look like:x-java-view=com.sun.TextViewer
# and a parameter list looks like:
text/plain; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# Note that mailcap entries that do not contain 'x-java' parameters
# and comply to RFC 1524 are simply ignored:
image/gif; /usr/dt/bin/sdtimage %s
 

도입된 버젼:
1.6

생성자 의 개요
MailcapCommandMap ()
          디폴트의 생성자 입니다.
MailcapCommandMap (InputStream  is)
          호출측이 mailcap 파일을 포함한 InputStream 를 지정할 수 있도록(듯이) 하는 생성자 입니다.
MailcapCommandMap (String  fileName)
          호출측이 mailcap 파일의 패스를 지정할 수 있도록(듯이) 하는 생성자 입니다.
 
메소드의 개요
 void addMailcap (String  mail_cap)
          엔트리를 레지스트리에 추가합니다.
 DataContentHandler createDataContentHandler (String  mimeType)
          지정의 MIME 타입의 DataContentHandler 를 돌려줍니다.
 CommandInfo [] getAllCommands (String  mimeType)
          이 MIME 타입의 이 MailcapCommandMap 의 인스턴스가 인식하고 있는 모든 mailcap 파일내의, 이용 가능한 커멘드를 모두 가져옵니다.
 CommandInfo getCommand (String  mimeType, String  cmdName)
          이 MIME 타입의 cmdName 에 대응하는 커멘드를 가져옵니다.
 String [] getMimeTypes ()
          이 커멘드 맵으로 인식되는 모든 MIME 타입을 가져옵니다.
 String [] getNativeCommands (String  mimeType)
          지정한 MIME 타입의 네이티브 커멘드를 가져옵니다.
 CommandInfo [] getPreferredCommands (String  mimeType)
          MIME 타입의 우선 커멘드 리스트를 가져옵니다.
 
클래스 javax.activation. CommandMap 로부터 상속된 메소드
createDataContentHandler , getAllCommands , getCommand , getDefaultCommandMap , getPreferredCommands , setDefaultCommandMap
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

MailcapCommandMap

public MailcapCommandMap()
디폴트의 생성자 입니다.


MailcapCommandMap

public MailcapCommandMap(String  fileName)
                  throws IOException 
호출측이 mailcap 파일의 패스를 지정할 수 있도록(듯이) 하는 생성자 입니다.

파라미터:
fileName - 여는 mailcap 파일의 이름
예외:
IOException - 파일에 액세스 할 수 없는 경우

MailcapCommandMap

public MailcapCommandMap(InputStream  is)
호출측이 mailcap 파일을 포함한 InputStream 를 지정할 수 있도록(듯이) 하는 생성자 입니다.

파라미터:
is - 여는 mailcap 파일의 InputStream
메소드의 상세

getPreferredCommands

public CommandInfo [] getPreferredCommands(String  mimeType)
MIME 타입의 우선 커멘드 리스트를 가져옵니다. MailcapCommandMap 는, 상기의 「Mailcap 파일의 검색 순서」에 따라 mailcap 파일을 검색합니다.

검색 결과는, 이 MailcapCommandMap 의 인스턴스가 인식하고 있는 모든 mailcap 파일내의, 이용 가능한 커멘드의 적절한 부분집합입니다. 특정 커멘드의 최초의 엔트리는, 우선 커멘드로 간주해집니다.

정의:
클래스 CommandMap 내의 getPreferredCommands
파라미터:
mimeType - MIME 타입
반환값:
우선 커멘드를 나타내는 CommandInfo 객체

getAllCommands

public CommandInfo [] getAllCommands(String  mimeType)
이 MIME 타입의 이 MailcapCommandMap 의 인스턴스가 인식하고 있는 모든 mailcap 파일내의, 이용 가능한 커멘드를 모두 가져옵니다.

정의:
클래스 CommandMap 내의 getAllCommands
파라미터:
mimeType - MIME 타입
반환값:
모든 커멘드를 나타내는 CommandInfo 객체

getCommand

public CommandInfo  getCommand(String  mimeType,
                              String  cmdName)
이 MIME 타입의 cmdName 에 대응하는 커멘드를 가져옵니다.

정의:
클래스 CommandMap 내의 getCommand
파라미터:
mimeType - MIME 타입
cmdName - 커멘드명
반환값:
이 커멘드에 대응하는 CommandInfo 객체

addMailcap

public void addMailcap(String  mail_cap)
엔트리를 레지스트리에 추가합니다. 프로그램에 의해 추가된 엔트리는, 다른 엔트리에 우선해 검색됩니다.

건네받는 캐릭터 라인은, mailcap 형식이 아니면 안됩니다.

파라미터:
mail_cap - 올바른 형식에서 쓰여진 mailcap 캐릭터 라인

createDataContentHandler

public DataContentHandler  createDataContentHandler(String  mimeType)
지정의 MIME 타입의 DataContentHandler 를 돌려줍니다.

정의:
클래스 CommandMap 내의 createDataContentHandler
파라미터:
mimeType - MIME 타입
반환값:
DataContentHandler

getMimeTypes

public String [] getMimeTypes()
이 커멘드 맵으로 인식되는 모든 MIME 타입을 가져옵니다.

오버라이드(override):
클래스 CommandMap 내의 getMimeTypes
반환값:
캐릭터 라인인 MIME 타입의 배열
도입된 버젼:
JAF 1.1

getNativeCommands

public String [] getNativeCommands(String  mimeType)
지정한 MIME 타입의 네이티브 커멘드를 가져옵니다. 각 캐릭터 라인이 mailcap 파일 엔트리 전체인, 캐릭터 라인의 배열을 돌려줍니다. 어플리케이션은, 필요한 속성에 가세해 실제의 커멘드를 추출하기 위해서, 이 엔트리를 구문 분석 할 필요가 있습니다. mailcap 엔트리의 구문의 자세한 것은,RFC 1524 를 참조해 주세요. 반환되는 것은, 지정한 MIME 타입의 표시 커멘드를 지정하는 mailcap 엔트리 뿐입니다.

반환값:
네이티브 커멘드 엔트리의 배열
도입된 버젼:
JAF 1.1

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