KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > caucho > xml > stream > events > StartDocumentImpl


1 /*
2 * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved
3 *
4 * This file is part of Resin(R) Open Source
5 *
6 * Each copy or derived work must preserve the copyright notice and this
7 * notice unmodified.
8 *
9 * Resin Open Source is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * Resin Open Source is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17 * of NON-INFRINGEMENT. See the GNU General Public License for more
18 * details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with Resin Open Source; if not, write to the
22 *
23 * Free Software Foundation, Inc.
24 * 59 Temple Place, Suite 330
25 * Boston, MA 02111-1307 USA
26 *
27 * @author Emil Ong
28 */

29
30 package com.caucho.xml.stream.events;
31
32 import javax.xml.stream.XMLStreamException;
33 import javax.xml.stream.events.StartDocument;
34 import java.io.IOException JavaDoc;
35 import java.io.Writer JavaDoc;
36
37 public class StartDocumentImpl extends XMLEventImpl implements StartDocument {
38   private final boolean _encodingSet;
39   private final String JavaDoc _characterEncodingScheme;
40   private final String JavaDoc _systemId;
41   private final String JavaDoc _version;
42   private final boolean _isStandalone;
43   private final boolean _standaloneSet;
44
45   public StartDocumentImpl(boolean encodingSet, String JavaDoc characterEncodingScheme,
46                            String JavaDoc systemId, String JavaDoc version,
47                            boolean isStandalone, boolean standaloneSet)
48   {
49     _encodingSet = encodingSet;
50     _characterEncodingScheme = characterEncodingScheme;
51     _systemId = systemId;
52     _version = version;
53     _isStandalone = isStandalone;
54     _standaloneSet = standaloneSet;
55   }
56
57   public boolean encodingSet()
58   {
59     return _encodingSet;
60   }
61
62   public String JavaDoc getCharacterEncodingScheme()
63   {
64     return _characterEncodingScheme;
65   }
66
67   public String JavaDoc getSystemId()
68   {
69     return _systemId;
70   }
71
72   public String JavaDoc getVersion()
73   {
74     return _version;
75   }
76
77   public boolean isStandalone()
78   {
79     return _isStandalone;
80   }
81
82   public boolean standaloneSet()
83   {
84     return _standaloneSet;
85   }
86
87   public int getEventType()
88   {
89     return START_DOCUMENT;
90   }
91
92   public void writeAsEncodedUnicode(Writer JavaDoc writer)
93     throws XMLStreamException
94   {
95     try {
96       writer.write("<?xml version=\"" + _version + "\"");
97
98       if (_encodingSet)
99         writer.write(" encoding=\"" + _characterEncodingScheme + "\"");
100
101       if (_standaloneSet)
102         writer.write(" standalone=\"" + _standaloneSet + "\"");
103
104       writer.write("?>");
105
106       // XXX system id?
107
}
108     catch (IOException JavaDoc e) {
109       throw new XMLStreamException(e);
110     }
111   }
112 }
113
114
Popular Tags