Javolution 6.0.0 java
XMLObjectWriter.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.xml;
10 
11 import java.io.IOException;
12 import java.io.OutputStream;
13 import java.io.Writer;
14 
18 
40 public class XMLObjectWriter {
41 
46 
50  private Writer _writer;
51 
55  private OutputStream _outputStream;
56 
60  public XMLObjectWriter() {}
61 
68  public static XMLObjectWriter newInstance(OutputStream out)
69  throws XMLStreamException {
70  XMLObjectWriter writer = new XMLObjectWriter();
71  writer.setOutput(out);
72  return writer;
73  }
74 
82  public static XMLObjectWriter newInstance(OutputStream out, String encoding)
83  throws XMLStreamException {
84  XMLObjectWriter writer = new XMLObjectWriter();
85  writer.setOutput(out, encoding);
86  return writer;
87  }
88 
95  public static XMLObjectWriter newInstance(Writer out)
96  throws XMLStreamException {
97  XMLObjectWriter writer = new XMLObjectWriter();
98  writer.setOutput(out);
99  return writer;
100  }
101 
112  return _xml._writer;
113  }
114 
122  public XMLObjectWriter setOutput(OutputStream out)
123  throws XMLStreamException {
124  if ((_outputStream != null) || (_writer != null))
125  throw new IllegalStateException("Writer not closed or reset");
126  _xml._writer.setOutput(out);
127  _outputStream = out;
128  _xml._writer.writeStartDocument();
129  return this;
130  }
131 
140  public XMLObjectWriter setOutput(OutputStream out, String encoding)
141  throws XMLStreamException {
142  if ((_outputStream != null) || (_writer != null))
143  throw new IllegalStateException("Writer not closed or reset");
144  _xml._writer.setOutput(out, encoding);
145  _outputStream = out;
146  _xml._writer.writeStartDocument();
147  return this;
148  }
149 
157  public XMLObjectWriter setOutput(Writer out) throws XMLStreamException {
158  if ((_outputStream != null) || (_writer != null))
159  throw new IllegalStateException("Writer not closed or reset");
160  _xml._writer.setOutput(out);
161  _writer = out;
162  _xml._writer.writeStartDocument();
163  return this;
164  }
165 
173  _xml.setBinding(binding);
174  return this;
175  }
176 
184  public XMLObjectWriter setIndentation(String indentation) {
185  _xml._writer.setIndentation(indentation);
186  return this;
187  }
188 
197  XMLReferenceResolver referenceResolver) {
198  _xml.setReferenceResolver(referenceResolver);
199  return this;
200  }
201 
210  public void write(Object obj) throws XMLStreamException {
211  _xml.add(obj);
212  }
213 
223  public void write(Object obj, String name) throws XMLStreamException {
224  _xml.add(obj, name);
225  }
226 
238  public void write(Object obj, String localName, String uri)
239  throws XMLStreamException {
240  _xml.add(obj, localName, uri);
241  }
242 
252  public <T> void write(T obj, String name, Class<T> cls)
253  throws XMLStreamException {
254  _xml.add(obj, name, cls);
255  }
256 
267  public <T> void write(T obj, String localName, String uri, Class<T> cls)
268  throws XMLStreamException {
269  _xml.add(obj, localName, uri, cls);
270  }
271 
276  public void flush() throws XMLStreamException {
277  _xml._writer.flush();
278  }
279 
284  public void close() throws XMLStreamException {
285  try {
286  if (_outputStream != null) {
287  _xml._writer.writeEndDocument();
288  _xml._writer.close();
289  _outputStream.close();
290  reset();
291  } else if (_writer != null) {
292  _xml._writer.writeEndDocument();
293  _xml._writer.close();
294  _writer.close();
295  reset();
296  }
297 
298  } catch (IOException e) {
299  throw new XMLStreamException(e);
300  }
301  }
302 
306  public void reset() {
307  _xml.reset();
308  _outputStream = null;
309  _writer = null;
310  }
311 }
javolution.xml.XMLObjectWriter.reset
void reset()
Definition: XMLObjectWriter.java:306
javolution
javolution.xml.XMLObjectWriter.flush
void flush()
Definition: XMLObjectWriter.java:276
javolution.xml.XMLObjectWriter.write
void write(Object obj)
Definition: XMLObjectWriter.java:210
javolution.xml.XMLObjectWriter._outputStream
OutputStream _outputStream
Definition: XMLObjectWriter.java:55
javolution.xml.XMLObjectWriter.setIndentation
XMLObjectWriter setIndentation(String indentation)
Definition: XMLObjectWriter.java:184
javolution.xml.XMLFormat.OutputElement
Definition: XMLFormat.java:622
javolution.xml.XMLObjectWriter.close
void close()
Definition: XMLObjectWriter.java:284
javolution.xml.XMLObjectWriter.setReferenceResolver
XMLObjectWriter setReferenceResolver(XMLReferenceResolver referenceResolver)
Definition: XMLObjectWriter.java:196
javolution.xml.XMLObjectWriter.write
void write(Object obj, String localName, String uri)
Definition: XMLObjectWriter.java:238
javolution.xml.XMLObjectWriter.newInstance
static XMLObjectWriter newInstance(OutputStream out, String encoding)
Definition: XMLObjectWriter.java:82
javolution.xml.stream.XMLStreamException
Definition: XMLStreamException.java:17
javolution.xml.XMLObjectWriter.write
void write(Object obj, String name)
Definition: XMLObjectWriter.java:223
javolution.xml.XMLBinding
Definition: XMLBinding.java:100
javolution.xml.XMLObjectWriter
Definition: XMLObjectWriter.java:40
javolution.xml.XMLObjectWriter.XMLObjectWriter
XMLObjectWriter()
Definition: XMLObjectWriter.java:60
javolution.xml.XMLObjectWriter.setBinding
XMLObjectWriter setBinding(XMLBinding binding)
Definition: XMLObjectWriter.java:172
javolution.xml.XMLObjectWriter.setOutput
XMLObjectWriter setOutput(OutputStream out)
Definition: XMLObjectWriter.java:122
javolution.xml.stream.XMLStreamWriter
Definition: XMLStreamWriter.java:47
javolution.xml.XMLObjectWriter._xml
final XMLFormat.OutputElement _xml
Definition: XMLObjectWriter.java:45
javolution.xml.XMLFormat
Definition: XMLFormat.java:116
javolution.xml.XMLObjectWriter._writer
Writer _writer
Definition: XMLObjectWriter.java:50
javolution.xml.XMLObjectWriter.write
public< T > void write(T obj, String localName, String uri, Class< T > cls)
Definition: XMLObjectWriter.java:267
javolution.xml.XMLObjectWriter.setOutput
XMLObjectWriter setOutput(OutputStream out, String encoding)
Definition: XMLObjectWriter.java:140
javolution.xml.XMLObjectWriter.newInstance
static XMLObjectWriter newInstance(OutputStream out)
Definition: XMLObjectWriter.java:68
javolution.xml.internal.stream
Definition: AttributesImpl.java:1
javolution.xml.internal
javolution.xml
Definition: DefaultXMLFormat.java:9
javolution.xml.XMLObjectWriter.newInstance
static XMLObjectWriter newInstance(Writer out)
Definition: XMLObjectWriter.java:95
javolution.xml.stream
Definition: Location.java:9
javolution.xml.XMLObjectWriter.getStreamWriter
XMLStreamWriter getStreamWriter()
Definition: XMLObjectWriter.java:111
javolution.xml.XMLObjectWriter.write
public< T > void write(T obj, String name, Class< T > cls)
Definition: XMLObjectWriter.java:252
javolution.xml.internal.stream.XMLStreamWriterImpl
Definition: XMLStreamWriterImpl.java:36
javolution.xml.XMLReferenceResolver
Definition: XMLReferenceResolver.java:30
javolution.xml.XMLObjectWriter.setOutput
XMLObjectWriter setOutput(Writer out)
Definition: XMLObjectWriter.java:157