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
-
-
Field Summary
Fields Modifier and Type Field Description protected JAXBContextImplcontextOwningJAXBContextUnmarshallingContextcoordinatorstatic StringFACTORY
-
Constructor Summary
Constructors Constructor Description UnmarshallerImpl(JAXBContextImpl context, AssociationMap assoc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()Must be called from same thread which created the UnmarshallerImpl instance.javax.xml.bind.UnmarshalExceptioncreateUnmarshalException(SAXException e)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.AttachmentUnmarshallergetAttachmentUnmarshaller()<T> JaxBeanInfo<T>getBeanInfo(Class<T> clazz)UnmarshallingContextgetContext()javax.xml.bind.ValidationEventHandlergetEventHandler()javax.xml.bind.Unmarshaller.ListenergetListener()ObjectgetProperty(String name)SchemagetSchema()javax.xml.bind.UnmarshallerHandlergetUnmarshallerHandler()protected XMLReadergetXMLReader()Obtains a configured XMLReader.booleanhandleEvent(javax.xml.bind.ValidationEvent event)Default error handling behavior forUnmarshaller.booleanhasEventHandler()Returns true if an event handler is installed.booleanisValidating()Deprecated.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)voidsetSchema(Schema schema)voidsetValidating(boolean validating)Deprecated.since 2.0Objectunmarshal(XMLEventReader reader)<T> javax.xml.bind.JAXBElement<T>unmarshal(XMLEventReader reader, Class<T> expectedType)Objectunmarshal(XMLStreamReader reader)<T> javax.xml.bind.JAXBElement<T>unmarshal(XMLStreamReader reader, Class<T> expectedType)Objectunmarshal(SAXSource source)Deprecated.<T> javax.xml.bind.JAXBElement<T>unmarshal(Source source, Class<T> expectedType)Objectunmarshal(Node node)<T> javax.xml.bind.JAXBElement<T>unmarshal(Node node, Class<T> expectedType)protected Objectunmarshal(XMLReader reader, InputSource source)protected <T> javax.xml.bind.JAXBElement<T>unmarshal(XMLReader reader, InputSource source, Class<T> expectedType)Objectunmarshal0(InputStream input, JaxBeanInfo expectedType)Objectunmarshal0(XMLStreamReader reader, JaxBeanInfo expectedType)Objectunmarshal0(Source source, JaxBeanInfo expectedType)Objectunmarshal0(Node node, JaxBeanInfo expectedType)
-
-
-
Field Detail
-
context
protected final JAXBContextImpl context
OwningJAXBContext
-
coordinator
public final UnmarshallingContext coordinator
-
FACTORY
public static final String FACTORY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UnmarshallerImpl
public UnmarshallerImpl(JAXBContextImpl context, AssociationMap assoc)
-
-
Method Detail
-
getUnmarshallerHandler
public javax.xml.bind.UnmarshallerHandler getUnmarshallerHandler()
- Specified by:
getUnmarshallerHandlerin interfacejavax.xml.bind.Unmarshaller
-
getXMLReader
protected XMLReader getXMLReader() throws javax.xml.bind.JAXBException
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
public static boolean needsInterning(XMLReader reader)
-
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
public final Object unmarshal(Node node) throws javax.xml.bind.JAXBException
- Specified by:
unmarshalin interfacejavax.xml.bind.Unmarshaller- Throws:
javax.xml.bind.JAXBException
-
unmarshal
@Deprecated public final Object unmarshal(SAXSource source) throws javax.xml.bind.JAXBException
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
public Object unmarshal(XMLStreamReader reader) 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
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
public Object unmarshal(XMLEventReader reader) 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(InputStream input, JaxBeanInfo expectedType) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
getProperty
public Object getProperty(String name) throws javax.xml.bind.PropertyException
- Specified by:
getPropertyin interfacejavax.xml.bind.Unmarshaller- Overrides:
getPropertyin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.PropertyException
-
setProperty
public void setProperty(String name, Object value) throws javax.xml.bind.PropertyException
- Specified by:
setPropertyin interfacejavax.xml.bind.Unmarshaller- Overrides:
setPropertyin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl- Throws:
javax.xml.bind.PropertyException
-
setSchema
public void setSchema(Schema schema)
- Specified by:
setSchemain interfacejavax.xml.bind.Unmarshaller- Overrides:
setSchemain classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
getSchema
public Schema 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
public <A extends javax.xml.bind.annotation.adapters.XmlAdapter> A getAdapter(Class<A> type)
- Specified by:
getAdapterin interfacejavax.xml.bind.Unmarshaller- Overrides:
getAdapterin classjavax.xml.bind.helpers.AbstractUnmarshallerImpl
-
createUnmarshalException
public javax.xml.bind.UnmarshalException createUnmarshalException(SAXException e)
- 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
public <T> JaxBeanInfo<T> getBeanInfo(Class<T> clazz) throws javax.xml.bind.JAXBException
- 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
public UnmarshallingContext getContext()
-
finalize
protected void finalize() throws Throwable
-
close
public void close() throws IOExceptionMust be called from same thread which created the UnmarshallerImpl instance.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
-