Class UnmarshallerImpl
java.lang.Object
javax.xml.bind.helpers.AbstractUnmarshallerImpl
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl
- All Implemented Interfaces:
Closeable,AutoCloseable,javax.xml.bind.Unmarshaller,javax.xml.bind.ValidationEventHandler
public final class UnmarshallerImpl
extends javax.xml.bind.helpers.AbstractUnmarshallerImpl
implements javax.xml.bind.ValidationEventHandler, Closeable
Default Unmarshaller implementation.
This class can be extended by the generated code to provide type-safe unmarshall methods.
- Author:
- Kohsuke KAWAGUCHI
-
Nested Class Summary
Nested classes/interfaces inherited from interface javax.xml.bind.Unmarshaller
javax.xml.bind.Unmarshaller.Listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final JAXBContextImplOwningJAXBContextfinal UnmarshallingContextstatic final StringFields inherited from class javax.xml.bind.helpers.AbstractUnmarshallerImpl
validating -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Must be called from same thread which created the UnmarshallerImpl instance.javax.xml.bind.UnmarshalExceptionfinal XmlVisitorcreateUnmarshallerHandler(InfosetScanner scanner, boolean inplace, JaxBeanInfo expectedType) Creates and configures a new unmarshalling pipe line.protected voidfinalize()<A extends javax.xml.bind.annotation.adapters.XmlAdapter>
AgetAdapter(Class<A> type) javax.xml.bind.attachment.AttachmentUnmarshaller<T> JaxBeanInfo<T>getBeanInfo(Class<T> clazz) final javax.xml.bind.ValidationEventHandlerjavax.xml.bind.Unmarshaller.ListenergetProperty(String name) javax.xml.bind.UnmarshallerHandlerprotected XMLReaderObtains a configured XMLReader.booleanhandleEvent(javax.xml.bind.ValidationEvent event) Default error handling behavior forUnmarshaller.final booleanReturns true if an event handler is installed.booleanDeprecated.since 2.0static booleanneedsInterning(XMLReader reader) <A extends javax.xml.bind.annotation.adapters.XmlAdapter>
voidsetAdapter(Class<A> type, A adapter) voidsetAttachmentUnmarshaller(javax.xml.bind.attachment.AttachmentUnmarshaller au) voidsetListener(javax.xml.bind.Unmarshaller.Listener listener) voidsetProperty(String name, Object value) voidvoidsetValidating(boolean validating) Deprecated.since 2.0unmarshal(XMLEventReader reader) <T> javax.xml.bind.JAXBElement<T>unmarshal(XMLEventReader reader, Class<T> expectedType) unmarshal(XMLStreamReader reader) <T> javax.xml.bind.JAXBElement<T>unmarshal(XMLStreamReader reader, Class<T> expectedType) final ObjectDeprecated.<T> javax.xml.bind.JAXBElement<T>final Object<T> javax.xml.bind.JAXBElement<T>protected Objectunmarshal(XMLReader reader, InputSource source) protected <T> javax.xml.bind.JAXBElement<T>unmarshal(XMLReader reader, InputSource source, Class<T> expectedType) unmarshal0(InputStream input, JaxBeanInfo expectedType) unmarshal0(XMLStreamReader reader, JaxBeanInfo expectedType) unmarshal0(Source source, JaxBeanInfo expectedType) final Objectunmarshal0(Node node, JaxBeanInfo expectedType) Methods inherited from class javax.xml.bind.helpers.AbstractUnmarshallerImpl
setAdapter, setEventHandler, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal
-
Field Details
-
context
OwningJAXBContext -
coordinator
-
FACTORY
- See Also:
-
-
Constructor Details
-
UnmarshallerImpl
-
-
Method Details
-
getUnmarshallerHandler
public javax.xml.bind.UnmarshallerHandler getUnmarshallerHandler()- Specified by:
getUnmarshallerHandlerin interfacejavax.xml.bind.Unmarshaller
-
getXMLReader
Obtains a configured XMLReader. This method is used when the client-specifiedSAXSourceobject doesn't have XMLReader.Unmarshalleris not re-entrant, so we will only use one instance of XMLReader. Overriden in order to fix potential security issue.- Overrides:
getXMLReaderin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
createUnmarshallerHandler
public final XmlVisitor createUnmarshallerHandler(InfosetScanner scanner, boolean inplace, JaxBeanInfo expectedType) Creates and configures a new unmarshalling pipe line. Depending on the setting, we put a validator as a filter.- Returns:
- A component that implements both
UnmarshallerHandlerandValidationEventHandler. All the parsing errors should be reported to this error handler for the unmarshalling process to work correctly. Also, returned handler expects all the XML names to be interned.
-
needsInterning
-
unmarshal
protected Object unmarshal(XMLReader reader, InputSource source) throws javax.xml.bind.JAXBException - Specified by:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal
protected <T> javax.xml.bind.JAXBElement<T> unmarshal(XMLReader reader, InputSource source, Class<T> expectedType) throws javax.xml.bind.JAXBException - Throws:
javax.xml.bind.JAXBException
-
unmarshal
public <T> javax.xml.bind.JAXBElement<T> unmarshal(Source source, Class<T> expectedType) throws javax.xml.bind.JAXBException - Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal0
public Object unmarshal0(Source source, JaxBeanInfo expectedType) throws javax.xml.bind.JAXBException - Throws:
javax.xml.bind.JAXBException
-
getEventHandler
public final javax.xml.bind.ValidationEventHandler getEventHandler()- Specified by:
getEventHandlerin interfacejavax.xml.bind.Unmarshaller- Overrides:
getEventHandlerin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
hasEventHandler
public final boolean hasEventHandler()Returns true if an event handler is installed.The default handler ignores any errors, and for that this method returns false.
-
unmarshal
public <T> javax.xml.bind.JAXBElement<T> unmarshal(Node node, Class<T> expectedType) throws javax.xml.bind.JAXBException - Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal
- Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Throws:
javax.xml.bind.JAXBException
-
unmarshal
Deprecated.- Throws:
javax.xml.bind.JAXBException
-
unmarshal0
public final Object unmarshal0(Node node, JaxBeanInfo expectedType) throws javax.xml.bind.JAXBException - Throws:
javax.xml.bind.JAXBException
-
unmarshal
- Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal
public <T> javax.xml.bind.JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> expectedType) throws javax.xml.bind.JAXBException - Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal0
public Object unmarshal0(XMLStreamReader reader, JaxBeanInfo expectedType) throws javax.xml.bind.JAXBException - Throws:
javax.xml.bind.JAXBException
-
unmarshal
public <T> javax.xml.bind.JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> expectedType) throws javax.xml.bind.JAXBException - Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal
- Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Overrides:
unmarshalin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.JAXBException
-
unmarshal0
public Object unmarshal0(InputStream input, JaxBeanInfo expectedType) throws javax.xml.bind.JAXBException - Throws:
javax.xml.bind.JAXBException
-
getProperty
- Specified by:
getPropertyin interfacejavax.xml.bind.Unmarshaller- Overrides:
getPropertyin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.PropertyException
-
setProperty
- Specified by:
setPropertyin interfacejavax.xml.bind.Unmarshaller- Overrides:
setPropertyin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.PropertyException
-
setSchema
- Specified by:
setSchemain interfacejavax.xml.bind.Unmarshaller- Overrides:
setSchemain classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
getSchema
- Specified by:
getSchemain interfacejavax.xml.bind.Unmarshaller- Overrides:
getSchemain classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
getAttachmentUnmarshaller
public javax.xml.bind.attachment.AttachmentUnmarshaller getAttachmentUnmarshaller()- Specified by:
getAttachmentUnmarshallerin interfacejavax.xml.bind.Unmarshaller- Overrides:
getAttachmentUnmarshallerin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
setAttachmentUnmarshaller
public void setAttachmentUnmarshaller(javax.xml.bind.attachment.AttachmentUnmarshaller au) - Specified by:
setAttachmentUnmarshallerin interfacejavax.xml.bind.Unmarshaller- Overrides:
setAttachmentUnmarshallerin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
isValidating
public boolean isValidating()Deprecated.since 2.0- Specified by:
isValidatingin interfacejavax.xml.bind.Unmarshaller- Overrides:
isValidatingin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
setValidating
public void setValidating(boolean validating) Deprecated.since 2.0- Specified by:
setValidatingin interfacejavax.xml.bind.Unmarshaller- Overrides:
setValidatingin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
setAdapter
public <A extends javax.xml.bind.annotation.adapters.XmlAdapter> void setAdapter(Class<A> type, A adapter) - Specified by:
setAdapterin interfacejavax.xml.bind.Unmarshaller- Overrides:
setAdapterin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
getAdapter
- Specified by:
getAdapterin interfacejavax.xml.bind.Unmarshaller- Overrides:
getAdapterin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
createUnmarshalException
- Overrides:
createUnmarshalExceptionin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
handleEvent
public boolean handleEvent(javax.xml.bind.ValidationEvent event) Default error handling behavior forUnmarshaller.- Specified by:
handleEventin interfacejavax.xml.bind.ValidationEventHandler
-
getBeanInfo
- Throws:
javax.xml.bind.JAXBException
-
getListener
public javax.xml.bind.Unmarshaller.Listener getListener()- Specified by:
getListenerin interfacejavax.xml.bind.Unmarshaller- Overrides:
getListenerin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
setListener
public void setListener(javax.xml.bind.Unmarshaller.Listener listener) - Specified by:
setListenerin interfacejavax.xml.bind.Unmarshaller- Overrides:
setListenerin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
getContext
-
finalize
-
close
Must be called from same thread which created the UnmarshallerImpl instance.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-