|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Object javax.xml.bind.Binder<XmlNode>
public abstract class Binder<XmlNode>
같은 XML 문서를 표현하는, XML 정보 세트 노드와 JAXB 객체의 동기를 가능하게 합니다.
이 클래스의 인스턴스는, 정보 세트 보관 유지 뷰의 XML 노드와 XML 문서의 JAXB 표현동안이 관련짓고를 보관 유지합니다. 2 개의 뷰간의 네비게이션은,getXMLNode(Object)
및 getJAXBNode(Object)
메소드에 의해 제공됩니다.
한편의 뷰가 변경되지 않고 그대로의 경우, 정보 세트 보관 유지 뷰 또는 문서의 JAXB 표현의 어느 쪽인지 한편을 변경할 수가 있습니다. Binder 에서는,updateXML(Object, Object)
또는 updateJAXB(Object)
의 적절한 Binder 갱신 메소드를 사용해, 한편의 뷰에의 변경이 한편의 뷰에 반영되도록(듯이) 동기를 취할 수가 있습니다.
다음에, 일반적인 사용 시나리오를 나타냅니다.
unmarshal(Object)
) (자원의 절약을 위해서(때문에), XML 정보 셋트뷰의 서브 트리만을 JAXB 뷰에 비정렬화할 수도 있습니다). updateXML(Object)
가, JAXB 뷰에 대한 변경을 XML 정보 셋트뷰에 대해서 동기 합니다. 갱신 처리에서는, 가능한 한 많은 원의 XML 정보 세트가 보관 유지됩니다 (즉, 코멘트, PI 등).
Binder 인스턴스는, 팩토리 메소드 JAXBContext.createBinder()
또는 JAXBContext.createBinder(Class)
를 사용해 작성됩니다.
템플릿 파라미터 XmlNode
는, XML 정보 세트 보관 유지 표현의 루트 인터페이스 또는 루트 클래스입니다. Binder 의 구현에서는,org.w3c.dom.Node.class
의 XmlNode
치를 최저한 지원할 필요가 있습니다. Binder 의 구현으로, 다른 XML 정보 세트 보관 유지 표현을 지원할 수도 있습니다.
생성자 의 개요 | |
---|---|
Binder ()
|
메소드의 개요 | ||
---|---|---|
abstract ValidationEventHandler |
getEventHandler ()
현재의 이벤트 핸들러, 또는, 그것이 설정되어 있지 않은 경우는 디폴트 이벤트 핸들러를 돌려줍니다. |
|
abstract Object |
getJAXBNode (XmlNode xmlNode)
지정한 XML 요소에 관련지을 수 있고 있는 JAXB 객체를 가져옵니다. |
|
abstract Object |
getProperty (String name)
Binder 의 기본이 되는 구현의 특정의 프로퍼티을 가져옵니다. |
|
abstract Schema |
getSchema ()
setSchema(Schema) 메소드에 의해 마지막에 설정된 Schema 객체 (null 를 포함한다)를 가져옵니다. |
|
abstract XmlNode |
getXMLNode (Object jaxbObject)
지정한 JAXB 객체에 관련지을 수 있고 있는 XML 요소를 가져옵니다. |
|
abstract void |
marshal (Object jaxbObject,
XmlNode xmlNode)
JAXB 객체 트리를 새로운 XML 문서에 정렬화합니다. |
|
abstract void |
setEventHandler (ValidationEventHandler handler)
어플리케이션이 ValidationEventHandler 를 등록할 수가 있습니다. |
|
abstract void |
setProperty (String name,
Object value)
Binder 의 기본이 되는 구현에 특정의 프로퍼티을 설정합니다. |
|
abstract void |
setSchema (Schema schema)
정렬화, 비정렬화, 갱신 메소드가 XML 컨텐츠로 검증을 실행할지 어떨지를 지정합니다. |
|
abstract Object |
unmarshal (XmlNode xmlNode)
XML 정보 셋트뷰를 JAXB 객체 트리에 비정렬화합니다. |
|
abstract
|
unmarshal (XmlNode xmlNode,
Class <T> declaredType)
지정된 declaredType 로 XML 루트 요소를 JAXB 객체 트리에 비정렬화합니다. |
|
abstract Object |
updateJAXB (XmlNode xmlNode)
XML 노드를 인수로 해, 거기에 관련지을 수 있었던 JAXB 객체와 그 하위 객체를 갱신합니다. |
|
abstract XmlNode |
updateXML (Object jaxbObject)
JAXB 객체를 인수로 해, 거기에 관련지을 수 있었던 XML 노드와 그 하위 노드를 갱신합니다. |
|
abstract XmlNode |
updateXML (Object jaxbObject,
XmlNode xmlNode)
JAXB 객체 트리의 변경을 그것과 관련지을 수 있고 있는 XML 구문나무로 갱신됩니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public Binder()
메소드의 상세 |
---|
public abstract Object unmarshal(XmlNode xmlNode) throws JAXBException
이 메소드는 Unmarshaller.unmarshal(Node)
와 유사합니다만, XML 노드와 생성된 JAXB 객체간이 관련짓고를 보관 유지하는 것이 더해져,updateXML(Object, Object)
또는 updateJAXB(Object)
에 의한 후의 갱신 처리를 가능하게 합니다.
getSchema()
가 null 이외의 경우, 이 조작중에 xmlNode
와 그 자손이 검증됩니다.
Binder JAXBContext
에,@xsi:type 를 개입시켜 지정 가능한 xmlNode 의 XML 요소명 또는 형태로부터 JAXB 맵 클래스에의 매핑이 포함되지 않는 경우, 이 메소드는 UnmarshalException
를 throw 합니다. 이 unmarshal(Object, Class)
메소드에 의해, 어플리케이션이 xmlNode 를 맵 해야 할 , JAXB 맵 클래스를 지정할 수 있게 됩니다.
xmlNode
- 비정렬화하는 XML 데이터가 포함되는 문서 또는 요소
JAXBException
- 비정렬화의 실행중에 예상외의 에러가 발생했을 경우
UnmarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Binder 가 XML 로부터 Java 에의 바인딩을 실행
할 수 없는 경우
IllegalArgumentException
- 노드 파라미터가 null 의 경우public abstract <T> JAXBElement <T> unmarshal(XmlNode xmlNode, Class <T> declaredType) throws JAXBException
「선언형에 의한 비정렬화」를 구현합니다.
이 메소드는 Unmarshaller.unmarshal(Node, Class)
와 유사합니다만, XML 노드와 생성된 JAXB 객체간이 관련짓고를 보관 유지하는 것이 더해져,updateXML(Object, Object)
또는 updateJAXB(Object)
에 의한 후의 갱신 처리를 가능하게 합니다.
getSchema()
가 null 이외의 경우, 이 조작중에 xmlNode
와 그 자손이 검증됩니다.
xmlNode
- 비정렬화하는 XML 데이터가 포함되는 문서 또는 요소declaredType
- 노드의 XML 데이터를 보관 유지하는, 적절한 JAXB 맵 클래스
JAXBException
- 비정렬화의 실행중에 예상외의 에러가 발생했을 경우
UnmarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Binder 가 XML 로부터 Java 에의 바인딩을 실행
할 수 없는 경우
IllegalArgumentException
- 몇개의 입력 파라미터가 null 의 경우public abstract void marshal(Object jaxbObject, XmlNode xmlNode) throws JAXBException
이 메소드는 Marshaller.marshal(Object, Node)
와 유사합니다만, JAXB 객체와 생성된 XML 노드간이 관련짓고를 보관 유지하는 것이 더해져,updateXML(Object, Object)
또는 updateJAXB(Object)
등에 의하는 후의 갱신 처리를 가능하게 합니다.
getSchema()
가 null 이외의 경우, 이 조작중에 정렬화 된 XML 컨텐츠가 검증됩니다.
jaxbObject
- 정렬화하는 컨텐츠 트리xmlNode
- 이 파라미터는, 아이를 받아들이는 노드일 필요가 있다
JAXBException
- 정렬화의 실행중에 예상외의 문제가 발생했을 경우
MarshalException
- ValidationEventHandler
의
handleEvent 메소드로부터 false 가 반환되는지, 또는
Binder 가 jaxbObject (또는,jaxbObject로부터
도달 가능한 객체)를 정렬화할 수 없는 경우
IllegalArgumentException
- 몇개의 메소드 파라미터가 null 의 경우public abstract XmlNode getXMLNode(Object jaxbObject)
JAXB 객체 트리가 XML fragment에 일단 관련지을 수 있으면(자), 이 메소드를 사용해 2 개의 트리간의 네비게이션이 가능하게 됩니다.
XML 요소와 JAXB 객체간이 관련짓고는, 바인드메소드와 갱신 메소드에 의해 확립됩니다. 이 관련짓고는 부분적이며, 모든 XML 요소를 관련지을 수 있었던 JAXB 객체를 가지는 것으로 없고, 또, 모든 JAXB 객체를 관련지을 수 있었던 XML 요소를 가지는 것으로 없는 것에 주의해 주세요.
jaxbObject
- JAXB 객체 트리를 돌려준 바인드메소드 또는 갱신
메소드의 사전의 호출로부터, 도달 가능한 인스턴스
Binder
로 기존이 아닌 경우,
또는, 그것이 XML 요소와 관련지을 수 있지 않은 경우, null
IllegalArgumentException
- jaxbObject 파라미터가 null 의 경우public abstract Object getJAXBNode(XmlNode xmlNode)
JAXB 객체 트리가 XML fragment에 일단 관련지을 수 있으면(자), 이 메소드를 사용해 2 개의 트리간의 네비게이션이 가능하게 됩니다.
XML 요소와 JAXB 객체간이 관련짓고는, 비정렬화, 정렬화 및 갱신 메소드에 의해 확립됩니다. 이 관련짓고는 부분적이며, 모든 XML 요소를 관련지을 수 있었던 JAXB 객체를 가지는 것으로 없고, 또, 모든 JAXB 객체를 관련지을 수 있었던 XML 요소를 가지는 것으로 없는 것에 주의해 주세요.
Binder
로 기존이 아닌 경우,
또는, 그것이 JAXB 객체와 관련지을 수 있지 않은 경우, null
IllegalArgumentException
- 노드 파라미터가 null 의 경우public abstract XmlNode updateXML(Object jaxbObject) throws JAXBException
이것은, 다음의 메소드의 편리한 메소드입니다.
updateXML( jaxbObject, getXMLNode(jaxbObject));
JAXBException
- 대응하는 XML 컨텐츠의 갱신중에 예상외의 문제가 발생했을 경우
IllegalArgumentException
- jaxbObject 파라미터가 null 의 경우public abstract XmlNode updateXML(Object jaxbObject, XmlNode xmlNode) throws JAXBException
이 조작은, 「인프레이스」정렬화 처리라고 파악할 수가 있습니다. 차이점은, 새로운 XML 트리 전체를 작성하는 것이 아니라, 이 조작은 기존의 트리를 갱신해, 가능한 한 많은 XML 를 유지하려고 하는 점입니다.
예를 들어, JAXB 에 바인드되어 있지 않은 불명한 XML 요소 또는 속성은 미변경입니다 (그에 대해, 정렬화 조작에서는 이러한 요소나 속성을 포함하지 않는 새로운 트리가 작성됩니다).
부작용으로서 이 조작은 XML 노드와 JAXB 객체가 관련짓고를 갱신합니다.
jaxbObject
- 변경된 가능성이 있는 JAXB 객체 트리의 루트xmlNode
- 갱신 타겟의 XML 구문나무의 루트
JAXBException
- 대응하는 XML 컨텐츠의 갱신중에 예상외의 문제가 발생했을 경우
IllegalArgumentException
- 몇개의 입력 파라미터가 null 의 경우public abstract Object updateJAXB(XmlNode xmlNode) throws JAXBException
이 조작은, 「인프레이스」비정렬화 처리라고 파악할 수가 있습니다. 차이점은, 새로운 JAXB 트리 전체를 작성하므로 없고, 이 조작은 기존의 트리를 갱신해, 가능한 한 많은 JAXB 객체를 재사용하는 점입니다.
부작용으로서 이 조작은 XML 노드와 JAXB 객체가 관련짓고를 갱신합니다.
marshal(Object, Object)
또는,
updateJAXB(Object)
메소드의 호출로
반환된 객체와 같다.
그러나,
예를 들어, XML 요소명이 변경되었을 경우 등, 다른 객체가 된다
가능성도 있다
JAXBException
- 컨텐츠가 맵 된, 대응하는 JAXB 의 갱신중에 예상외의 문제가 발생했을 경우
IllegalArgumentException
- 노드 파라미터가 null 의 경우public abstract void setSchema(Schema schema)
schema
- 검증을 무효로 하려면 null 로 설정Unmarshaller.setSchema(Schema)
public abstract Schema getSchema()
setSchema(Schema)
메소드에 의해 마지막에 설정된 Schema
객체 (null 를 포함한다)를 가져옵니다.
public abstract void setEventHandler(ValidationEventHandler handler) throws JAXBException
ValidationEventHandler 는, Binder 비정렬화, 정렬화 및 갱신 메소드의 어느쪽이든을 호출하고 있는 도중에 검증 에러가 발생했을 경우, JAXB 프로바이더에 의해 불려 갑니다.
이 메소드를 null 파라미터와 함께 호출했을 경우, Binder 는 디폴트의 디폴트 이벤트 핸들러에 되돌려집니다.
handler
- 검증 이벤트 핸들러
JAXBException
- 이벤트 핸들러의 설정중에 에러가 발생했을 경우public abstract ValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- 현재의 이벤트 핸들러의 취득중에 에러가 발생했을 경우public abstract void setProperty(String name, Object value) throws PropertyException
name
- 설정하는 프로퍼티의 이름. 이 값은, 정수 필드의 1 개인가
사용자가 지정한 캐릭터 라인을 사용해 지정할 수 있는value
- 설정하는 프로퍼티의 값
PropertyException
- 지정한 프로퍼티 또는 값의 처리중에 에러가
발생했을 경우
IllegalArgumentException
- name 파라미터가 null 의 경우public abstract Object getProperty(String name) throws PropertyException
name
- 취득하는 프로퍼티의 이름
PropertyException
- 지정한 프로퍼티, 또는 값프로퍼티명의 취득중에 에러가 발생
했을 경우
IllegalArgumentException
- name 파라미터가 null 의 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.