3 * Copyright © 2014 František Kučera (frantovo.cz)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package cz.frantovo.alt2xml.out.xml;
19 import cz.frantovo.alt2xml.out.Action;
20 import cz.frantovo.alt2xml.out.ActionContext;
21 import cz.frantovo.alt2xml.out.ActionFactory;
22 import cz.frantovo.alt2xml.out.OutputActionException;
23 import javax.xml.stream.XMLOutputFactory;
24 import javax.xml.stream.XMLStreamException;
25 import javax.xml.stream.XMLStreamWriter;
30 * @author Ing. František Kučera (frantovo.cz)
32 public class XMLActionFactory implements ActionFactory {
34 private XMLOutputFactory xmlOutputFactory;
37 public String getActionCode() {
42 public Action getAction(ActionContext context) throws OutputActionException {
44 XMLStreamWriter writer = getXmlOutputFactory().createXMLStreamWriter(context.getOutputStream());
45 return new XMLAction(context, writer);
46 } catch (XMLStreamException e) {
47 throw new OutputActionException("Unable to create XMLStreamWriter", e);
51 private XMLOutputFactory getXmlOutputFactory() {
52 if (xmlOutputFactory == null) {
53 xmlOutputFactory = XMLOutputFactory.newFactory();
55 return xmlOutputFactory;