Class XMLBinder


  • public class XMLBinder
    extends java.lang.Object
    PUBLIC:

    Purpose:Provide a runtime public interface for preserving unmapped content from an XML Document.

    Responsibilities:

    • Unmarshal XML into JavaObjects and maintain the associations between nodes and objects
    • Update the cached XML based on changes to the object
    • Update the cached objects based on changes to the XML Document
    • Provide API to access the cached Node for a given object
    • Provide API to access the cached Object for a given XML Node

    The XML Binder is a runtime class that allows an association to be maintained between the original XML Document and the Java Objects built from the Document. It allows unmapped content (such as comments, processing instructions or other unmapped elements and attributes) to be preserved. The XMLBinder is created through an XMLContext.

    See Also:
    XMLContext
    Author:
    mmacivor
    • Method Detail

      • unmarshal

        public java.lang.Object unmarshal​(org.w3c.dom.Node node)
        This method will unmarshal the provided node into mapped java objects. The original node will be cached rather than thrown away.
        Parameters:
        node -
        Returns:
        The root object unmarshalled from the provided node.
      • unmarshal

        public XMLRoot unmarshal​(org.w3c.dom.Node node,
                                 java.lang.Class javaClass)
      • updateXML

        public void updateXML​(java.lang.Object obj)
        This method will update the cached XML node for the provided object. If no node exists for this object, then no operation is performed.
        Parameters:
        obj -
      • marshal

        public void marshal​(java.lang.Object obj,
                            org.w3c.dom.Node node)
      • updateXML

        public void updateXML​(java.lang.Object obj,
                              org.w3c.dom.Node associatedNode)
      • getXMLNode

        public org.w3c.dom.Node getXMLNode​(java.lang.Object object)
        Gets the XML Node associated with the provided object.
        Parameters:
        object -
        Returns:
        an XML Node used to construct the given object. Null if no node exists for this object.
      • getObject

        public java.lang.Object getObject​(org.w3c.dom.Node node)
        Gets the Java Object associated with the provided XML Node.
        Parameters:
        node -
        Returns:
        the Java Object associated with this node. If no object is associated then returns null
      • updateObject

        public void updateObject​(org.w3c.dom.Node node)
        Updates the object associated with the provided node to reflect any changed made to that node. If this Binder has no object associated with the given node, then no operation is performed.
        Parameters:
        node -
      • setMarshaller

        public void setMarshaller​(XMLMarshaller marshaller)
      • setSchema

        public void setSchema​(javax.xml.validation.Schema aSchema)
      • getSchema

        public javax.xml.validation.Schema getSchema()
      • setErrorHandler

        public void setErrorHandler​(org.xml.sax.ErrorHandler errorHandler)
      • getErrorHandler

        public org.xml.sax.ErrorHandler getErrorHandler()