public class XMLDecoder extends Objectimplements AutoCloseable
XMLDecoder class is used to read XML documents created using the
XMLEncoder and is used just like the
ObjectInputStream. For example, one can use the following fragment to read the first object defined in an XML document written by the
XMLEncoder class:
XMLDecoder d = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("Test.xml")));
Object result = d.readObject();
d.close();
For more information you might also want to check out Long Term Persistence of JavaBeans Components: XML Schema, an article in The Swing Connection.
XMLEncoder,
ObjectInputStream
| Constructor and Description |
|---|
XMLDecoder(InputSource
Creates a new decoder to parse XML archives created by the
XMLEncoder class.
|
XMLDecoder(InputStream
Creates a new input stream for reading archives created by the
XMLEncoder class.
|
XMLDecoder(InputStream
Creates a new input stream for reading archives created by the
XMLEncoder class.
|
XMLDecoder(InputStream
Creates a new input stream for reading archives created by the
XMLEncoder class.
|
XMLDecoder(InputStream
Creates a new input stream for reading archives created by the
XMLEncoder class.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
This method closes the input stream associated with this stream.
|
static DefaultHandler |
createHandler(Object
Creates a new handler for SAX parser that can be used to parse embedded XML archives created by the
XMLEncoder class.
|
ExceptionListener |
getExceptionListener()
Gets the exception handler for this stream.
|
Object |
getOwner()
Gets the owner of this decoder.
|
Object |
readObject()
Reads the next object from the underlying input stream.
|
void |
setExceptionListener(ExceptionListener
Sets the exception handler for this stream to
exceptionListener.
|
void |
setOwner(Object
Sets the owner of this decoder to
owner.
|
public XMLDecoder(InputStreamin)
XMLEncoder class.
in - The underlying stream.
XMLEncoder.XMLEncoder(java.io.OutputStream)
public XMLDecoder(InputStreamin, Object owner)
XMLEncoder class.
in - The underlying stream.
owner - The owner of this stream.
public XMLDecoder(InputStreamin, Object owner, ExceptionListener exceptionListener)
XMLEncoder class.
in - the underlying stream.
owner - the owner of this stream.
exceptionListener - the exception handler for the stream; if
null the default exception listener will be used.
public XMLDecoder(InputStreamin, Object owner, ExceptionListener exceptionListener, ClassLoader cl)
XMLEncoder class.
in - the underlying stream.
null may be passed without error, though the resulting XMLDecoder will be useless
owner - the owner of this stream.
null is a legal value
exceptionListener - the exception handler for the stream, or
null to use the default
cl - the class loader used for instantiating objects.
null indicates that the default class loader should be used
public XMLDecoder(InputSourceis)
XMLEncoder class. If the input source
is is
null, no exception is thrown and no parsing is performed. This behavior is similar to behavior of other constructors that use
InputStream as a parameter.
is - the input source to parse
public void close()
public void setExceptionListener(ExceptionListenerexceptionListener)
exceptionListener. The exception handler is notified when this stream catches recoverable exceptions.
exceptionListener - The exception handler for this stream; if
null the default exception listener will be used.
getExceptionListener()
public ExceptionListenergetExceptionListener()
setExceptionListener(java.beans.ExceptionListener)
public ObjectreadObject()
ArrayIndexOutOfBoundsException - if the stream contains no objects (or no more objects)
XMLEncoder.writeObject(java.lang.Object)
public void setOwner(Objectowner)
owner.
owner - The owner of this decoder.
getOwner()
public ObjectgetOwner()
setOwner(java.lang.Object)
public static DefaultHandlercreateHandler(Object owner, ExceptionListener el, ClassLoader cl)
XMLEncoder class. The
owner should be used if parsed XML document contains the method call within context of the <java> element. The
null value may cause illegal parsing in such case. The same problem may occur, if the
owner class does not contain expected method to call. See details
here.
owner - the owner of the default handler that can be used as a value of <java> element
el - the exception handler for the parser, or
null to use the default exception handler
cl - the class loader used for instantiating objects, or
null to use the default class loader
DefaultHandler for SAX parser