|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
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 );
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 에 응해 이하와 같이 다른 의미를 가집니다.
marshal(Object, ContentHandler)
- Marshaller 은ContentHandler.startDocument()
와ContentHandler.endDocument()
를 호출하지 않습니다.marshal(Object, Node)
- 프로퍼티은 이 API 에 영향을 주지 않습니다.marshal(Object, OutputStream)
- Marshaller 는 XML 선언을 생성하지 않습니다.marshal(Object, Writer)
- Marshaller 는 XML 선언을 생성하지 않습니다.marshal(Object, Result)
- Result 객체의 종류에 의존합니다. Node, ContentHandler, Stream API 의 시멘틱스를 참조해 주세요.marshal(Object, XMLEventWriter)
- Marshaller 는XMLStreamConstants.START_DOCUMENT
및XMLStreamConstants.END_DOCUMENT
이벤트를 생성하지 않습니다.marshal(Object, XMLStreamWriter)
- Marshaller 는XMLStreamConstants.START_DOCUMENT
및XMLStreamConstants.END_DOCUMENT
이벤트를 생성하지 않습니다.
Marshaller
는, 2 개의 스타일의 콜백 기구를 제공합니다. 이것들에 의해, 비정렬화 프로세스의 중요한 시점에서의 어플리케이션 고유의 처리가 가능하게 됩니다. 「클래스 정의되었다」이벤트 콜백에서는, JAXB 맵 클래스에 놓여지는 어플리케이션 고유의 코드가 정렬화중에 트리거됩니다. 「외부 청취자」는, 형태의 이벤트 콜백을 개입시키는 것이 아니라, 단일의 콜백 메소드에서의 정렬화 이벤트의 집중 처리를 가능하게 합니다.클래스 정의된 이벤트 콜백 메소드에 의해, 임의의 JAXB 맵 클래스는 다음의 메소드시그니챠를 가지는 메소드를 정의하는 것에 의해, 고유의 콜백 메소드를 지정할 수 있습니다.
콜백 메소드가 클래스의 public 이외의 메소드 및 필드의 양쪽 모두 또는 어느 쪽인지 한편에의 액세스를 필요로 하는 경우는, 클래스 정의 이벤트 콜백 메소드를 사용할 필요가 있습니다.// 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);외부 청취자 콜백 기구에서는,
setListener(Listener)
에Marshaller.Listener
인스턴스를 등록할 수가 있습니다. 외부 청취자는 모든 콜백 이벤트를 받기 (위해)때문에, 클래스 마다 정의되는 콜백 메소드보다, 보다 집중적인 처리가 가능하게 됩니다.「클래스 정의되었다」이벤트 콜백 메소드와 외부 청취자 이벤트 콜백 메소드는 각각 독립하고 있어, 1 개의 이벤트에 대해 양쪽 모두를 호출할 수가 있습니다. 양쪽 모두의 청취자 콜백 메소드가 존재하는 경우의 호출 순서는,
Marshaller.Listener.beforeMarshal(Object)
및Marshaller.Listener.afterMarshal(Object)
로 정의됩니다.예외를 throw 한 이벤트 콜백 메소드는, 현재의 정렬화 프로세스를 종료시킵니다.
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 속성치를 지정하기 위해서 사용되는 프로퍼티의 이름입니다. |
메소드의 개요 | ||
---|---|---|
|
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 에 정렬화합니다. |
|
|
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 객체를 지정합니다. |
필드의 상세 |
---|
static final String JAXB_ENCODING
static final String JAXB_FORMATTED_OUTPUT
static final String JAXB_SCHEMA_LOCATION
static final String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
static final String JAXB_FRAGMENT
메소드의 상세 |
---|
void marshal(Object jaxbElement, Result result) throws JAXBException
모든 JAXB 프로바이더는,DOMResult
,SAXResult
, 및 StreamResult
를 최저한 지원할 필요가 있습니다. 더해,Result 의 그 외의 상속 클래스를 지원할 수도 있습니다.
jaxbElement
- 정렬화하는 컨텐츠 트리의 루트result
- XML 는 이 Result 에 송신된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, OutputStream os) throws JAXBException
jaxbElement
- 정렬화하는 컨텐츠 트리의 루트os
- XML 는 이 스트림에 추가된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, Writer writer) throws JAXBException
jaxbElement
- 정렬화하는 컨텐츠 트리의 루트writer
- XML 는 이 라이터에 송신된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, ContentHandler handler) throws JAXBException
jaxbElement
- 정렬화하는 컨텐츠 트리의 루트handler
- XML 는 이 핸들러에 SAX2 이벤트로서 송신된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, Node node) throws JAXBException
jaxbElement
- 정렬화하는 컨텐츠 트리node
- DOM 노드가 이 노드의 아이로서 추가된다.
이 파라미터는, 아이
(Document
,
DocumentFragment
, 또는
Element
)를 받아들이는 노드가 아니면 안 된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 jaxbElement (또는,
jaxbElement 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, XMLStreamWriter writer) throws JAXBException
XMLStreamWriter
에 정렬화합니다.
jaxbElement
- 정렬화하는 컨텐츠 트리writer
- XML 는 이 라이터에 송신된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우void marshal(Object jaxbElement, XMLEventWriter writer) throws JAXBException
XMLEventWriter
에 정렬화합니다.
jaxbElement
- 정렬화하는 jaxbElement 를 루트로 하는 컨텐츠 트리writer
- XML 는 이 라이터에 송신된다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Marshaller 가 obj (또는,
obj 로부터 도달 가능한 객체)를 정렬화할 수 없는 경우. 「
JAXB 요소의 정렬화」를 참조
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우Node getNode(Object contentTree) throws JAXBException
marshal(Object, org.w3c.dom.Node)
를 사용합니다.
contentTree
- - XML 컨텐츠의 JAXB Java 표현
UnsupportedOperationException
- JAXB 프로바이더 구현이 컨텐츠 트리의 DOM 뷰를 지원
하고 있지 않는 경우
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우
JAXBException
- 예상외의 문제가 발생했을 경우void setProperty(String name, Object value) throws PropertyException
name
- 설정하는 프로퍼티의 이름. 이 값은, 정수 필드의 1 개인가
사용자 지정 캐릭터 라인을 사용해 지정할 수 있는value
- 설정하는 프로퍼티의 값
PropertyException
- 지정한 프로퍼티 또는 값의 처리중에 에러가
발생했을 경우
IllegalArgumentException
- name 파라미터가 null 의 경우Object getProperty(String name) throws PropertyException
name
- 취득하는 프로퍼티의 이름
PropertyException
- 지정한 프로퍼티, 또는 프로퍼티명치의 취득중에 에러가 발생
했을 경우
IllegalArgumentException
- name 파라미터가 null 의 경우void setEventHandler(ValidationEventHandler handler) throws JAXBException
검증 이벤트 핸들러는, 몇개의 정렬화 API 를 호출하고 있는 도중에 검증 에러가 발생했을 경우, JAXB 프로바이더에 의해 불려 갑니다. 정렬화 메소드의 어느쪽이든을 호출하기 전에, 클라이언트 어플리케이션이 검증 이벤트 핸들러를 등록하고 있지 않는 경우, 검증 이벤트는 디폴트 이벤트 핸들러에 의해 처리됩니다. 디폴트 이벤트 핸들러는, 최초의 에러 또는 치명적인 에러의 발생 후에 정렬화 조작을 종료시킵니다.
이 메소드를 null 파라미터와 함께 호출했을 경우, Marshaller 는 디폴트의 디폴트 이벤트 핸들러에 되돌려집니다.
handler
- 검증 이벤트 핸들러
JAXBException
- 이벤트 핸들러의 설정중에 에러가 발생했을 경우ValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- 현재의 이벤트 핸들러의 취득중에 에러가 발생했을 경우void setAdapter(XmlAdapter adapter)
XmlAdapter
의 설정 끝난 인스턴스를 이 Marshaller 에 관련짓습니다.
이것은,setAdapter(adapter.getClass(), adapter);
를 호출하는 편리한 메소드입니다.
IllegalArgumentException
- adapter 파라미터가 null 의 경우
UnsupportedOperationException
- JAXB 1.0 구현에 대해서 불려 갔을 경우setAdapter(Class, XmlAdapter)
<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 구현에 대해서 불려 갔을 경우<A extends XmlAdapter > A getAdapter(Class <A> type)
setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)
메소드의 역의 조작입니다.
IllegalArgumentException
- type 파라미터가 null 의 경우
UnsupportedOperationException
- JAXB 1.0 구현에 대해서 불려 갔을 경우void setAttachmentMarshaller(AttachmentMarshaller am)
XML 문서내의 바이너리 데이터를, XML 바이너리의 최적화된 첨부로서 전송 가능하게 하는 문맥을 관련짓습니다. 첨부는, XML 문서 컨텐츠 모델로부터, XML 문서내에 보존된 컨텐츠 ID URI (cid) 참조에 의해 참조됩니다.
IllegalStateException
- 정렬화 조작중에, 이 메소드를 동시에
호출하려고 했을 경우AttachmentMarshaller getAttachmentMarshaller()
void setSchema(Schema schema)
Schema
객체를 지정합니다. 이 메소드에 null 를 건네주면(자), 검증은 무효가 됩니다.
이 메소드에 의해, 호출측은 정렬화의 실행시에, 정렬화 되는 XML 를 검증할 수 있습니다.
이 프로퍼티은 최초로 null 로 설정됩니다.
schema
- 정렬화 조작의 검증에 사용하는 schema 객체. 검증을 무효로 하는 경우는 null
UnsupportedOperationException
- JAXB 1.0 맵 클래스를 참조하고 있다
JAXBContext 로부터 작성된 Marshaller 에 대해서 이 메소드가 불려 갔을 경우Schema getSchema()
Schema
객체를 가져옵니다. Marshaller 에 schema가 설정되어 있지 않은 경우, 이 메소드는, 정렬화시에 검증을 실행하지 않는 것을 나타내는, null 를 돌려줍니다.
UnsupportedOperationException
- JAXB 1.0 맵 클래스를 참조하고 있다
JAXBContext 로부터 작성된 Marshaller 에 대해서 이 메소드가 불려 갔을 경우void setListener(Marshaller.Listener listener)
이 Marshaller
에 정렬화 이벤트 콜백 Marshaller.Listener
를 등록합니다.
각 Marshaller 에 Listener 는 1 개 뿐입니다. Listener 를 설정하면(자), 전으로 설정되어 있던 Listener 와 옮겨집니다. Listener 에 null 를 설정하는 것으로써, 현재의 Listener 의 등록을 해제할 수 있습니다.
listener
- Marshaller.Listener
를 구현하는 클래스의 인스턴스Marshaller.Listener getListener()
이 Marshaller
에 등록되어 있는 Marshaller.Listener
를 돌려줍니다.
Marshaller.Listener
, 또는, 이 Marshaller 에 등록되어 있는 Listener 가 없는 경우,null
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.