JavaTM Platform
Standard Ed. 6

javax.xml.bind
인터페이스 Marshaller

기존의 구현 클래스의 일람:
AbstractMarshallerImpl


public interface Marshaller

Marshaller 클래스는, Java 컨텐츠 트리를 직렬화해 XML 데이터에 되돌리는 프로세스의 제어를 담당합니다. 이 클래스는, 기본적인 정렬화 메소드를 제공합니다.

아래의 모든 코드 fragment에서는, 다음의 셋업 코드를 전제로 합니다.

       JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
       Unmarshaller u = jc.createUnmarshaller();
       Object element = u.unmarshal( new File( "foo.xml" ) );
       Marshaller m = jc.createMarshaller();
    

파일에 정렬화합니다.

       OutputStream os = new FileOutputStream( "nosferatu.xml" );
       m.marshal( element, os );
    

SAX ContentHandler 에 정렬화합니다.

       // assume MyContentHandler instanceof ContentHandler
       m.marshal( element, new MyContentHandler() );  
    

DOM Node 에 정렬화합니다.

       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       dbf.setNamespaceAware(true);
       DocumentBuilder db = dbf.newDocumentBuilder();
       Document doc = db.newDocument();

       m.marshal( element, doc );
    

java.io.OutputStream 에 정렬화합니다.

       m.marshal( element, System.out );
    

java.io.Writer 에 정렬화합니다.

       m.marshal( element, new PrintWriter( System.out ) );
    

javax.xml.transform.SAXResult 에 정렬화합니다.

       // assume MyContentHandler instanceof ContentHandler
       SAXResult result = new SAXResult( new MyContentHandler() );

       m.marshal( element, result );
    

javax.xml.transform.DOMResult 에 정렬화합니다.

       DOMResult result = new DOMResult();
       
       m.marshal( element, result );
    

javax.xml.transform.StreamResult 에 정렬화합니다.

       StreamResult result = new StreamResult( System.out );
 
       m.marshal( element, result );
    

javax.xml.stream.XMLStreamWriter 에 정렬화합니다.

       XMLStreamWriter xmlStreamWriter = 
           XMLOutputFactory.newInstance(). createXMLStreamWriter( ... );
 
       m.marshal( element, xmlStreamWriter );
    

javax.xml.stream.XMLEventWriter 에 정렬화합니다.

       XMLEventWriter xmlEventWriter = 
           XMLOutputFactory.newInstance(). createXMLEventWriter( ... );
 
       m.marshal( element, xmlEventWriter );
    

JAXB 요소를 루트로 하는 컨텐츠 트리의 정렬화

overload 된 Marshaller.marshal(java.lang.Object, ...) 메소드의 최초의 파라미터는,JAXBIntrospector.isElement(java.lang.Object) 에 의해 계산된 JAXB 요소가 아니면 안됩니다. 이것을 채우지 않는 경우,Marshaller.marshal 메소드는 MarshalException 를 throw 하지 않으면 안됩니다. JAXB 요소가 아닌 인스턴스의 정렬화를 가능하게 하기 위해서, 2 개의 기구가 존재합니다. 1 개의 방법은,JAXBElement 의 값으로 해서 인스턴스를 랩 해, 래퍼 요소를 Marshaller.marshal 메소드에의 최초의 파라미터로서 건네주는 것입니다. Java 로부터 schema에의 바인딩의 경우, 인스턴스의 클래스를 @XmlRootElement 로 단지 주석 하는 것도 실행할 수 있습니다.

인코딩

디폴트에서는, XML 데이터를 java.io.OutputStream, 또는 java.io.Writer 에 생성하는 경우, Marshaller 는 UTF-8 인코딩을 사용합니다. 이러한 정렬화 조작중에 사용되는 출력 인코딩을 변경하려면 ,setProperty API 를 사용합니다. 클라이언트 어플리케이션은,W3C XML 1.0 Recommendation 로 정의되어 사용하고 있는 Java 플랫폼 이 지원하고 있는 유효한 문자 인코딩명을 제공하는 것을 기대됩니다.

검증과 정형식

클라이언트 어플리케이션은, 정렬화 API 의 어느쪽이든을 호출하기 전에, Java 컨텐츠 트리를 검증하는 것이 요구되지 않습니다. 게다가 Java 컨텐츠 트리를 정렬화해 XML 데이터에 되돌리기 위해서(때문에), Java 컨텐츠 트리의 원이 되는 schema에 관해서 그 Java 컨텐츠 트리가 유효하지 않으면 안 된다고 하는 요건은 없습니다. JAXB 프로바이더 마다 다양한 레벨로 무효인 Java 컨텐츠 트리의 정렬화 처리가 향후 지원되게 됩니다만, 모든 JAXB 프로바이더는 유효한 컨텐츠 트리를 XML 데이터에 정렬화해 되돌릴 수 있도록(듯이) 할 필요가 있습니다. JAXB 프로바이더는, 컨텐츠가 무효인 위해(때문에) 정렬화 조작을 완료할 수 없는 경우,MarshalException 를 throw 할 필요가 있습니다. JAXB 프로바이더에 따라서는 무효인 컨텐츠의 정렬화를 완전하게 허가하고 있습니다만, 최초의 검증 에러로 실패하는 것도 있습니다.

정렬화 조작으로 schema 검증이 명시적으로 유효하게되어 있지 않은 경우여도, 조작중에 특정의 검증 이벤트가 검출될 가능성이 있습니다. 검증 이벤트는, 등록되어 있는 이벤트 핸들러에 보고됩니다. 정렬화 API 의 어느쪽이든을 호출하기 전에, 클라이언트 어플리케이션이 이벤트 핸들러의 등록을 끝마치지 않은 경우, 이벤트는 디폴트 이벤트 핸들러에 전송 됩니다. 디폴트 이벤트 핸들러는, 최초의 에러 또는 치명적인 에러의 발생 후에 정렬화 조작을 종료시킵니다. JAXB 2.0 이후의 버젼에서는,DefaultValidationEventHandler 는 사용되지 않게 되었습니다.

지원되고 있는 프로퍼티

모든 JAXB 프로바이더는, 다음의 프로퍼티 세트를 지원할 필요가 있습니다. 프로바이더에 따라서는, 추가의 프로퍼티을 지원할 가능성이 있습니다.

jaxb.encoding - 치는 java.lang.String 가 아니면 안됩니다.
XML 데이터를 정렬화할 때 사용되는 출력 인코딩입니다. 이 프로퍼티이 지정되지 않는 경우, Marshaller 는 디폴트로 「UTF-8」을 사용합니다.
jaxb.formatted.output - 치는 java.lang.Boolean 가 아니면 안됩니다.
이 프로퍼티은, Marshaller 가 개행과 인덴트를 사용해 결과의 XML 데이터를 서식 설정할지 어떨지를 제어합니다. 이 프로퍼티의 값이 true 의 경우, 사람이 판독할 수 있는 인덴트 처리된 XML 데이터가 되어, false 의 경우, 서식 설정되지 않는 XML 데이터가 됩니다. 이 프로퍼티이 지정되지 않는 경우, Marshaller 는 디폴트로 false (서식 설정되지 않는다)가 됩니다.
jaxb.schemaLocation - 치는 Java.lang.String 가 아니면 안됩니다.
이 프로퍼티에 의해, 생성 XML 데이터의 xsi:schemaLocation 속성을 클라이언트 어플리케이션이 지정할 수가 있습니다. NoNamespaceSchemaLocation 속성치의 형식에 대해서는,「W3C XML Schema Part 0: Primer」의 5.6 절에 비규준적인 형식이,「W3C XML Schema Part 1: Structures」의 2.6 절로 지정된 형식이 알기 쉽게 설명되고 있습니다.
jaxb.noNamespaceSchemaLocation - 치는 Java.lang.String 가 아니면 안됩니다.
이 프로퍼티에 의해, 생성 XML 데이터의 xsi:noNamespaceSchemaLocation 속성을 클라이언트 어플리케이션이 지정할 수가 있습니다. schemaLocation 속성치의 형식에 대해서는,「W3C XML Schema Part 0: Primer」의 5.6 절에 비규준적인 형식이,「W3C XML Schema Part 1: Structures」의 2.6 절로 지정된 형식이 알기 쉽게 설명되고 있습니다.
jaxb.fragment - 치는 java.lang.Boolean 가 아니면 안됩니다.
이 프로퍼티은, 문서 레벨의 이벤트가 Marshaller 에 의해 생성될지 어떨지를 결정합니다. 이 프로퍼티이 지정되지 않는 경우, 디폴트는 false 가 됩니다. 이 프로퍼티에 true 가 설정되었을 경우, 사용하는 정렬화 API 에 응해 이하와 같이 다른 의미를 가집니다.

정렬화 이벤트 콜백

Marshaller 는, 2 개의 스타일의 콜백 기구를 제공합니다. 이것들에 의해, 비정렬화 프로세스의 중요한 시점에서의 어플리케이션 고유의 처리가 가능하게 됩니다. 「클래스 정의되었다」이벤트 콜백에서는, JAXB 맵 클래스에 놓여지는 어플리케이션 고유의 코드가 정렬화중에 트리거됩니다. 「외부 청취자」는, 형태의 이벤트 콜백을 개입시키는 것이 아니라, 단일의 콜백 메소드에서의 정렬화 이벤트의 집중 처리를 가능하게 합니다.

클래스 정의된 이벤트 콜백 메소드에 의해, 임의의 JAXB 맵 클래스는 다음의 메소드시그니챠를 가지는 메소드를 정의하는 것에 의해, 고유의 콜백 메소드를 지정할 수 있습니다.

   // Invoked by Marshaller after it has created an instance of this object.
   boolean beforeMarshal(Marshaller, Object parent);
 
   // Invoked by Marshaller after it has marshalled all properties of this object.
   void afterMmarshal(Marshaller, Object parent);
 
콜백 메소드가 클래스의 public 이외의 메소드 및 필드의 양쪽 모두 또는 어느 쪽인지 한편에의 액세스를 필요로 하는 경우는, 클래스 정의 이벤트 콜백 메소드를 사용할 필요가 있습니다.

외부 청취자 콜백 기구에서는,setListener(Listener)Marshaller.Listener 인스턴스를 등록할 수가 있습니다. 외부 청취자는 모든 콜백 이벤트를 받기 (위해)때문에, 클래스 마다 정의되는 콜백 메소드보다, 보다 집중적인 처리가 가능하게 됩니다.

「클래스 정의되었다」이벤트 콜백 메소드와 외부 청취자 이벤트 콜백 메소드는 각각 독립하고 있어, 1 개의 이벤트에 대해 양쪽 모두를 호출할 수가 있습니다. 양쪽 모두의 청취자 콜백 메소드가 존재하는 경우의 호출 순서는,Marshaller.Listener.beforeMarshal(Object)Marshaller.Listener.afterMarshal(Object) 로 정의됩니다.

예외를 throw 한 이벤트 콜백 메소드는, 현재의 정렬화 프로세스를 종료시킵니다.

도입된 버젼:
JAXB1. 0
관련 항목:
JAXBContext , Validator , Unmarshaller

상자의 클래스의 개요
static class Marshaller.Listener
          

Marshaller 에 이 클래스의 구현의 인스턴스를 등록해, 정렬화 이벤트를 외부적으로 대기합니다.

 
필드의 개요
static String JAXB_ENCODING
          정렬화 된 XML 데이터의 출력 인코딩을 지정하기 위해서 사용되는 프로퍼티의 이름입니다.
static String JAXB_FORMATTED_OUTPUT
          정렬화 된 XML 데이터를 개행과 인덴트를 사용해 서식 설정할지 어떨지를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.
static String JAXB_FRAGMENT
          marshaller 가 문서 레벨의 이벤트 (즉, startDocument 또는 endDocument 의 호출)를 생성할지 어떨지를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.
static String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
          정렬화 된 XML 출력으로 설정하는 xsi:noNamespaceSchemaLocation 속성치를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.
static String JAXB_SCHEMA_LOCATION
          정렬화 된 XML 출력으로 설정하는 xsi:schemaLocation 속성치를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.
 
메소드의 개요
<A extends XmlAdapter >
A
getAdapter (Class <A> type)
          지정한 형태에 관련지을 수 있고 있는 어댑터를 가져옵니다.
 AttachmentMarshaller getAttachmentMarshaller ()
           
 ValidationEventHandler getEventHandler ()
          현재의 이벤트 핸들러, 또는, 그것이 설정되어 있지 않은 경우는 디폴트 이벤트 핸들러를 돌려줍니다.
 Marshaller.Listener getListener ()
          이 Marshaller 에 등록되어 있는 Marshaller.Listener 를 돌려줍니다.
 Node getNode (Object  contentTree)
          컨텐츠 트리의 DOM 트리뷰를 가져옵니다 (옵션).
 Object getProperty (String  name)
          Marshaller 의 기본이 되는 구현의 특정의 프로퍼티을 가져옵니다.
 Schema getSchema ()
          정렬화시의 검증에 사용되는 JAXP 1.3 Schema 객체를 가져옵니다.
 void marshal (Object  jaxbElement, ContentHandler  handler)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 SAX2 이벤트에 정렬화합니다.
 void marshal (Object  jaxbElement, Node  node)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 DOM 트리에 정렬화합니다.
 void marshal (Object  jaxbElement, OutputStream  os)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 출력 스트림에 정렬화합니다.
 void marshal (Object  jaxbElement, Result  result)
          jaxbElement 를 루트로 하는 컨텐츠 트리를, 지정된 javax.xml.transform.Result 에 정렬화합니다.
 void marshal (Object  jaxbElement, Writer  writer)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 Writer 에 정렬화합니다.
 void marshal (Object  jaxbElement, XMLEventWriter  writer)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 XMLEventWriter 에 정렬화합니다.
 void marshal (Object  jaxbElement, XMLStreamWriter  writer)
          jaxbElement 를 루트로 하는 컨텐츠 트리를 XMLStreamWriter 에 정렬화합니다.
<A extends XmlAdapter >
void
setAdapter (Class <A> type, A adapter)
          XmlAdapter 의 설정 끝난 인스턴스를 이 Marshaller 에 관련짓습니다.
 void setAdapter (XmlAdapter  adapter)
          XmlAdapter 의 설정 끝난 인스턴스를 이 Marshaller 에 관련짓습니다.
 void setAttachmentMarshaller (AttachmentMarshaller  am)
          XML 문서내의 바이너리 데이터를, XML 바이너리의 최적화된 첨부로서 전송 가능하게 하는 문맥을 관련짓습니다.
 void setEventHandler (ValidationEventHandler  handler)
          어플리케이션이 검증 이벤트 핸들러를 등록할 수가 있습니다.
 void setListener (Marshaller.Listener  listener)
           이 Marshaller 에 정렬화 이벤트 콜백 Marshaller.Listener 를 등록합니다.
 void setProperty (String  name, Object  value)
          Marshaller 의 기본이 되는 구현에 특정의 프로퍼티을 설정합니다.
 void setSchema (Schema  schema)
           후의 정렬화 조작의 검증에 사용하는, JAXP 1.3 Schema 객체를 지정합니다.
 

필드의 상세

JAXB_ENCODING

static final String  JAXB_ENCODING
정렬화 된 XML 데이터의 출력 인코딩을 지정하기 위해서 사용되는 프로퍼티의 이름입니다.

관련 항목:
정수 필드치

JAXB_FORMATTED_OUTPUT

static final String  JAXB_FORMATTED_OUTPUT
정렬화 된 XML 데이터를 개행과 인덴트를 사용해 서식 설정할지 어떨지를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.

관련 항목:
정수 필드치

JAXB_SCHEMA_LOCATION

static final String  JAXB_SCHEMA_LOCATION
정렬화 된 XML 출력으로 설정하는 xsi:schemaLocation 속성치를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.

관련 항목:
정수 필드치

JAXB_NO_NAMESPACE_SCHEMA_LOCATION

static final String  JAXB_NO_NAMESPACE_SCHEMA_LOCATION
정렬화 된 XML 출력으로 설정하는 xsi:noNamespaceSchemaLocation 속성치를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.

관련 항목:
정수 필드치

JAXB_FRAGMENT

static final String  JAXB_FRAGMENT
marshaller 이 문서 레벨의 이벤트 (즉, startDocument 또는 endDocument 의 호출)를 생성할지 어떨지를 지정하기 위해서 사용되는 프로퍼티의 이름입니다.

관련 항목:
정수 필드치
메소드의 상세

marshal

void marshal(Object  jaxbElement,
             Result  result)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를, 지정된 javax.xml.transform.Result 에 정렬화합니다.

모든 JAXB 프로바이더는,DOMResult ,SAXResult , 및 StreamResult 를 최저한 지원할 필요가 있습니다. 더해,Result 의 그 외의 상속 클래스를 지원할 수도 있습니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리의 루트
result - XML 는 이 Result 에 송신된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우

marshal

void marshal(Object  jaxbElement,
             OutputStream  os)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 출력 스트림에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리의 루트
os - XML 는 이 스트림에 추가된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우

marshal

void marshal(Object  jaxbElement,
             Writer  writer)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 Writer 에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리의 루트
writer - XML 는 이 라이터에 송신된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우

marshal

void marshal(Object  jaxbElement,
             ContentHandler  handler)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 SAX2 이벤트에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리의 루트
handler - XML 는 이 핸들러에 SAX2 이벤트로서 송신된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우

marshal

void marshal(Object  jaxbElement,
             Node  node)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 DOM 트리에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리
node - DOM 노드가 이 노드의 아이로서 추가된다. 이 파라미터는, 아이 (Document , DocumentFragment , 또는 Element )를 받아들이는 노드가 아니면 안 된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 MarshallerjaxbElement (또는, jaxbElement 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우

marshal

void marshal(Object  jaxbElement,
             XMLStreamWriter  writer)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 XMLStreamWriter 에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 컨텐츠 트리
writer - XML 는 이 라이터에 송신된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우
도입된 버젼:
JAXB 2.0

marshal

void marshal(Object  jaxbElement,
             XMLEventWriter  writer)
             throws JAXBException 
jaxbElement 를 루트로 하는 컨텐츠 트리를 XMLEventWriter 에 정렬화합니다.

파라미터:
jaxbElement - 정렬화하는 jaxbElement 를 루트로 하는 컨텐츠 트리
writer - XML 는 이 라이터에 송신된다
예외:
JAXBException - 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException - ValidationEventHandlerhandleEvent 메소드로부터 false 가 반환되는지, 또는 Marshallerobj (또는, obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「 JAXB 요소의 정렬화」를 참조
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우
도입된 버젼:
JAXB 2.0

getNode

Node  getNode(Object  contentTree)
             throws JAXBException 
컨텐츠 트리의 DOM 트리뷰를 가져옵니다 (옵션). 반환된 DOM 트리가 갱신되었을 경우, 이러한 변경은 컨텐츠 트리에서도 확인할 수 있습니다. 컨텐츠 트리를 DOM 표현에 강제적으로 딥 카피하려면 ,marshal(Object, org.w3c.dom.Node) 를 사용합니다.

파라미터:
contentTree - - XML 컨텐츠의 JAXB Java 표현
반환값:
컨텐츠 트리의 DOM 트리뷰
예외:
UnsupportedOperationException - JAXB 프로바이더 구현이 컨텐츠 트리의 DOM 뷰를 지원 하고 있지 않는 경우
IllegalArgumentException - 몇개의 메소드 파라미터가 null 의 경우
JAXBException - 예상외의 문제가 발생했을 경우

setProperty

void setProperty(String  name,
                 Object  value)
                 throws PropertyException 
Marshaller 의 기본이 되는 구현에 특정의 프로퍼티을 설정합니다. 이 메소드는, 먼저 말한 정의 끝난 표준 JAXB 프로퍼티 또는 프로바이더 고유의 프로퍼티의 1 개를 설정하는 목적에게만 사용할 수 있습니다. 미정도리의 프로퍼티을 설정하려고 했을 경우, PropertyException 가 throw 됩니다. 「지원되고 있는 프로퍼티」을 참조해 주세요.

파라미터:
name - 설정하는 프로퍼티의 이름. 이 값은, 정수 필드의 1 개인가 사용자 지정 캐릭터 라인을 사용해 지정할 수 있는
value - 설정하는 프로퍼티의 값
예외:
PropertyException - 지정한 프로퍼티 또는 값의 처리중에 에러가 발생했을 경우
IllegalArgumentException - name 파라미터가 null 의 경우

getProperty

Object  getProperty(String  name)
                   throws PropertyException 
Marshaller 의 기본이 되는 구현의 특정의 프로퍼티을 가져옵니다. 이 메소드는, 먼저 말한 정의 끝난 표준 JAXB 프로퍼티 또는 프로바이더 고유의 프로퍼티의 1 개를 취득하는 목적에게만 사용할 수 있습니다. 미정도리의 프로퍼티을 취득하려고 했을 경우, PropertyException 가 throw 됩니다. 「지원되고 있는 프로퍼티」을 참조해 주세요.

파라미터:
name - 취득하는 프로퍼티의 이름
반환값:
요구된 프로퍼티의 값
예외:
PropertyException - 지정한 프로퍼티, 또는 프로퍼티명치의 취득중에 에러가 발생 했을 경우
IllegalArgumentException - name 파라미터가 null 의 경우

setEventHandler

void setEventHandler(ValidationEventHandler  handler)
                     throws JAXBException 
어플리케이션이 검증 이벤트 핸들러를 등록할 수가 있습니다.

검증 이벤트 핸들러는, 몇개의 정렬화 API 를 호출하고 있는 도중에 검증 에러가 발생했을 경우, JAXB 프로바이더에 의해 불려 갑니다. 정렬화 메소드의 어느쪽이든을 호출하기 전에, 클라이언트 어플리케이션이 검증 이벤트 핸들러를 등록하고 있지 않는 경우, 검증 이벤트는 디폴트 이벤트 핸들러에 의해 처리됩니다. 디폴트 이벤트 핸들러는, 최초의 에러 또는 치명적인 에러의 발생 후에 정렬화 조작을 종료시킵니다.

이 메소드를 null 파라미터와 함께 호출했을 경우, Marshaller 는 디폴트의 디폴트 이벤트 핸들러에 되돌려집니다.

파라미터:
handler - 검증 이벤트 핸들러
예외:
JAXBException - 이벤트 핸들러의 설정중에 에러가 발생했을 경우

getEventHandler

ValidationEventHandler  getEventHandler()
                                       throws JAXBException 
현재의 이벤트 핸들러, 또는, 그것이 설정되어 있지 않은 경우는 디폴트 이벤트 핸들러를 돌려줍니다.

반환값:
현재의 ValidationEventHandler, 또는, 그것이 설정되어 있지 않은 경우, 디폴트 이벤트 핸들러
예외:
JAXBException - 현재의 이벤트 핸들러의 취득중에 에러가 발생했을 경우

setAdapter

void setAdapter(XmlAdapter  adapter)
XmlAdapter 의 설정 끝난 인스턴스를 이 Marshaller 에 관련짓습니다.

이것은,setAdapter(adapter.getClass(), adapter); 를 호출하는 편리한 메소드입니다.

예외:
IllegalArgumentException - adapter 파라미터가 null 의 경우
UnsupportedOperationException - JAXB 1.0 구현에 대해서 불려 갔을 경우
도입된 버젼:
JAXB 2.0
관련 항목:
setAdapter(Class, XmlAdapter)

setAdapter

<A extends XmlAdapter > void setAdapter(Class <A> type,
                                       A adapter)
XmlAdapter 의 설정 끝난 인스턴스를 이 Marshaller 에 관련짓습니다.

모든 Marshaller 는, 내부적으로 Map <Class ,XmlAdapter > 를 보관 유지하고 있어, 필드 또는 메소드가 XmlJavaTypeAdapter 로 주석 된 클래스를 정렬화하기 위해서(때문에) 사용합니다.

이 메소드에 의해, 어플리케이션은 XmlAdapter 의 설정 끝난 인스턴스를 사용할 수가 있습니다. 어댑터의 인스턴스가 주어지지 않는 경우, Marshaller 는 그것의 디폴트 생성자 을 호출해 인스턴스를 작성합니다.

파라미터:
type - 어댑터의 형태. XmlJavaTypeAdapter.value() 하지만 이 형태를 참조하고 있는 경우, 지정한 인스턴스가 사용되는
adapter - 사용하는 어댑터의 인스턴스. null 의 경우, 이 형태의 현재의 어댑터 세트의 등록을 취소한다
예외:
IllegalArgumentException - type 파라미터가 null 의 경우
UnsupportedOperationException - JAXB 1.0 구현에 대해서 불려 갔을 경우
도입된 버젼:
JAXB 2.0

getAdapter

<A extends XmlAdapter > A getAdapter(Class <A> type)
지정한 형태에 관련지을 수 있고 있는 어댑터를 가져옵니다. 이 메소드는,setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter) 메소드의 역의 조작입니다.

예외:
IllegalArgumentException - type 파라미터가 null 의 경우
UnsupportedOperationException - JAXB 1.0 구현에 대해서 불려 갔을 경우
도입된 버젼:
JAXB 2.0

setAttachmentMarshaller

void setAttachmentMarshaller(AttachmentMarshaller  am)

XML 문서내의 바이너리 데이터를, XML 바이너리의 최적화된 첨부로서 전송 가능하게 하는 문맥을 관련짓습니다. 첨부는, XML 문서 컨텐츠 모델로부터, XML 문서내에 보존된 컨텐츠 ID URI (cid) 참조에 의해 참조됩니다.

예외:
IllegalStateException - 정렬화 조작중에, 이 메소드를 동시에 호출하려고 했을 경우

getAttachmentMarshaller

AttachmentMarshaller  getAttachmentMarshaller()

setSchema

void setSchema(Schema  schema)
후의 정렬화 조작의 검증에 사용하는, JAXP 1.3 Schema 객체를 지정합니다. 이 메소드에 null 를 건네주면(자), 검증은 무효가 됩니다.

이 메소드에 의해, 호출측은 정렬화의 실행시에, 정렬화 되는 XML 를 검증할 수 있습니다.

이 프로퍼티은 최초로 null 로 설정됩니다.

파라미터:
schema - 정렬화 조작의 검증에 사용하는 schema 객체. 검증을 무효로 하는 경우는 null
예외:
UnsupportedOperationException - JAXB 1.0 맵 클래스를 참조하고 있다 JAXBContext 로부터 작성된 Marshaller 에 대해서 이 메소드가 불려 갔을 경우
도입된 버젼:
JAXB2. 0

getSchema

Schema  getSchema()
정렬화시의 검증에 사용되는 JAXP 1.3 Schema 객체를 가져옵니다. Marshaller 에 schema가 설정되어 있지 않은 경우, 이 메소드는, 정렬화시에 검증을 실행하지 않는 것을 나타내는, null 를 돌려줍니다.

반환값:
정렬화시의 검증을 실행하기 위해서 사용되는 schema 객체, 또는, 존재하지 않는 경우, null
예외:
UnsupportedOperationException - JAXB 1.0 맵 클래스를 참조하고 있다 JAXBContext 로부터 작성된 Marshaller 에 대해서 이 메소드가 불려 갔을 경우
도입된 버젼:
JAXB2. 0

setListener

void setListener(Marshaller.Listener  listener)

Marshaller 에 정렬화 이벤트 콜백 Marshaller.Listener 를 등록합니다.

각 Marshaller 에 Listener 는 1 개 뿐입니다. Listener 를 설정하면(자), 전으로 설정되어 있던 Listener 와 옮겨집니다. Listener 에 null 를 설정하는 것으로써, 현재의 Listener 의 등록을 해제할 수 있습니다.

파라미터:
listener - Marshaller.Listener 를 구현하는 클래스의 인스턴스
도입된 버젼:
JAXB2. 0

getListener

Marshaller.Listener  getListener()

Marshaller 에 등록되어 있는 Marshaller.Listener 를 돌려줍니다.

반환값:
등록되어 있는 Marshaller.Listener , 또는, 이 Marshaller 에 등록되어 있는 Listener 가 없는 경우,null
도입된 버젼:
JAXB2. 0

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