XmlVisitorpublic final class InterningXmlVisitor extends java.lang.Object implements XmlVisitor
XmlVisitor decorator that interns all string tokens.XmlVisitor.TextPredictor| Constructor | Description |
|---|---|
InterningXmlVisitor(XmlVisitor next) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
endDocument() |
|
void |
endElement(TagName tagName) |
|
void |
endPrefixMapping(java.lang.String prefix) |
Called after
XmlVisitor.endElement(com.sun.xml.bind.v2.runtime.unmarshaller.TagName) event to notify the end of a binding. |
UnmarshallingContext |
getContext() |
Returns the
UnmarshallingContext at the end of the chain. |
XmlVisitor.TextPredictor |
getPredictor() |
Gets the predictor that can be used for the caller to avoid
calling
XmlVisitor.text(CharSequence) unnecessarily. |
void |
startDocument(LocatorEx locator,
javax.xml.namespace.NamespaceContext nsContext) |
Notifies a start of the document.
|
void |
startElement(TagName tagName) |
Notifies a start tag of a new element.
|
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String nsUri) |
Called before
XmlVisitor.startElement(com.sun.xml.bind.v2.runtime.unmarshaller.TagName) event to notify a new namespace binding. |
void |
text(java.lang.CharSequence pcdata) |
Text events.
|
public InterningXmlVisitor(XmlVisitor next)
public void startDocument(LocatorEx locator, javax.xml.namespace.NamespaceContext nsContext) throws org.xml.sax.SAXException
XmlVisitorstartDocument in interface XmlVisitorlocator - This live object returns the location information as the parsing progresses.
must not be null.nsContext - Some broken XML APIs can't iterate all the in-scope namespace bindings,
which makes it impossible to emulate XmlVisitor.startPrefixMapping(String, String) correctly
when unmarshalling a subtree. Connectors that use such an API can
pass in additional NamespaceContext object that knows about the
in-scope namespace bindings. Otherwise (and normally) it is null.
Ideally this object should be immutable and only represent the namespace URI bindings in the context (those done above the element that JAXB started unmarshalling), but it can also work even if it changes as the parsing progress (to include namespaces declared on the current element being parsed.)
org.xml.sax.SAXExceptionpublic void endDocument()
throws org.xml.sax.SAXException
endDocument in interface XmlVisitororg.xml.sax.SAXExceptionpublic void startElement(TagName tagName) throws org.xml.sax.SAXException
XmlVisitorstartElement in interface XmlVisitororg.xml.sax.SAXExceptionpublic void endElement(TagName tagName) throws org.xml.sax.SAXException
endElement in interface XmlVisitororg.xml.sax.SAXExceptionpublic void startPrefixMapping(java.lang.String prefix,
java.lang.String nsUri)
throws org.xml.sax.SAXException
XmlVisitorXmlVisitor.startElement(com.sun.xml.bind.v2.runtime.unmarshaller.TagName) event to notify a new namespace binding.startPrefixMapping in interface XmlVisitororg.xml.sax.SAXExceptionpublic void endPrefixMapping(java.lang.String prefix)
throws org.xml.sax.SAXException
XmlVisitorXmlVisitor.endElement(com.sun.xml.bind.v2.runtime.unmarshaller.TagName) event to notify the end of a binding.endPrefixMapping in interface XmlVisitororg.xml.sax.SAXExceptionpublic void text(java.lang.CharSequence pcdata)
throws org.xml.sax.SAXException
XmlVisitor
The caller should consult XmlVisitor.TextPredictor to see
if the unmarshaller is expecting any PCDATA. If the above is returning
false, the caller is OK to skip any text in XML. The net effect is
that we can ignore whitespaces quickly.
text in interface XmlVisitorpcdata - represents character data. This object can be mutable
(such as StringBuilder); it only needs to be fixed
while this method is executing.org.xml.sax.SAXExceptionpublic UnmarshallingContext getContext()
XmlVisitorUnmarshallingContext at the end of the chain.getContext in interface XmlVisitorpublic XmlVisitor.TextPredictor getPredictor()
XmlVisitorXmlVisitor.text(CharSequence) unnecessarily.getPredictor in interface XmlVisitorCopyright © 2018 Oracle Corporation. All rights reserved.