Class W3CDomHandler

java.lang.Object
javax.xml.bind.annotation.W3CDomHandler
All Implemented Interfaces:
DomHandler<Element,DOMResult>

public class W3CDomHandler extends Object implements DomHandler<Element,DOMResult>
DomHandler implementation for W3C DOM (org.w3c.dom package.)
Since:
JAXB2.0
  • Constructor Details

    • W3CDomHandler

      public W3CDomHandler()
      Default constructor. It is up to a JAXB provider to decide which DOM implementation to use or how that is configured.
    • W3CDomHandler

      public W3CDomHandler(DocumentBuilder builder)
      Constructor that allows applications to specify which DOM implementation to be used.
      Parameters:
      builder - must not be null. JAXB uses this DocumentBuilder to create a new element.
  • Method Details

    • getBuilder

      public DocumentBuilder getBuilder()
    • setBuilder

      public void setBuilder(DocumentBuilder builder)
    • createUnmarshaller

      public DOMResult createUnmarshaller(ValidationEventHandler errorHandler)
      Description copied from interface: DomHandler
      When a JAXB provider needs to unmarshal a part of a document into an infoset representation, it first calls this method to create a Result object.

      A JAXB provider will then send a portion of the XML into the given result. Such a portion always form a subtree of the whole XML document rooted at an element.

      Specified by:
      createUnmarshaller in interface DomHandler<Element,DOMResult>
      Parameters:
      errorHandler - if any error happens between the invocation of this method and the invocation of DomHandler.getElement(Result), they must be reported to this handler. The caller must provide a non-null error handler. The Result object created from this method may hold a reference to this error handler.
      Returns:
      null if the operation fails. The error must have been reported to the error handler.
    • getElement

      public Element getElement(DOMResult r)
      Description copied from interface: DomHandler
      Once the portion is sent to the Result. This method is called by a JAXB provider to obtain the unmarshalled element representation.

      Multiple invocations of this method may return different objects. This method can be invoked only when the whole sub-tree are fed to the Result object.

      Specified by:
      getElement in interface DomHandler<Element,DOMResult>
      Parameters:
      r - The Result object created by DomHandler.createUnmarshaller(ValidationEventHandler).
      Returns:
      null if the operation fails. The error must have been reported to the error handler.
    • marshal

      public Source marshal(Element element, ValidationEventHandler errorHandler)
      Description copied from interface: DomHandler
      This method is called when a JAXB provider needs to marshal an element to XML.

      If non-null, the returned Source must contain a whole document rooted at one element, which will then be weaved into a bigger document that the JAXB provider is marshalling.

      Specified by:
      marshal in interface DomHandler<Element,DOMResult>
      errorHandler - Receives any errors happened during the process of converting an element into a Source. The caller must provide a non-null error handler.
      Returns:
      null if there was an error. The error should have been reported to the handler.