Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.xml/share/classes/javax/xml/stream/events/XMLEvent.java
40955 views
1
/*
2
* Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package javax.xml.stream.events;
27
28
import java.io.Writer;
29
import javax.xml.namespace.QName;
30
/**
31
* This is the base event interface for handling markup events.
32
* Events are value objects that are used to communicate the
33
* XML 1.0 InfoSet to the Application. Events may be cached
34
* and referenced after the parse has completed.
35
*
36
* @version 1.0
37
* @author Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
38
* @see javax.xml.stream.XMLEventReader
39
* @see Characters
40
* @see ProcessingInstruction
41
* @see StartElement
42
* @see EndElement
43
* @see StartDocument
44
* @see EndDocument
45
* @see EntityReference
46
* @see EntityDeclaration
47
* @see NotationDeclaration
48
* @since 1.6
49
*/
50
public interface XMLEvent extends javax.xml.stream.XMLStreamConstants {
51
52
/**
53
* Returns an integer code for this event.
54
* @return the event type
55
* @see #START_ELEMENT
56
* @see #END_ELEMENT
57
* @see #CHARACTERS
58
* @see #ATTRIBUTE
59
* @see #NAMESPACE
60
* @see #PROCESSING_INSTRUCTION
61
* @see #COMMENT
62
* @see #START_DOCUMENT
63
* @see #END_DOCUMENT
64
* @see #DTD
65
*/
66
public int getEventType();
67
68
/**
69
* Return the location of this event. The Location
70
* returned from this method is non-volatile and
71
* will retain its information.
72
* @return the location of the event
73
* @see javax.xml.stream.Location
74
*/
75
javax.xml.stream.Location getLocation();
76
77
/**
78
* A utility function to check if this event is a StartElement.
79
* @return true if the event is {@code StartElement}, false otherwise
80
* @see StartElement
81
*/
82
public boolean isStartElement();
83
84
/**
85
* A utility function to check if this event is an Attribute.
86
* @return true if the event is {@code Attribute}, false otherwise
87
* @see Attribute
88
*/
89
public boolean isAttribute();
90
91
/**
92
* A utility function to check if this event is a Namespace.
93
* @return true if the event is {@code Namespace}, false otherwise
94
* @see Namespace
95
*/
96
public boolean isNamespace();
97
98
99
/**
100
* A utility function to check if this event is a EndElement.
101
* @return true if the event is {@code EndElement}, false otherwise
102
* @see EndElement
103
*/
104
public boolean isEndElement();
105
106
/**
107
* A utility function to check if this event is an EntityReference.
108
* @return true if the event is {@code EntityReference}, false otherwise
109
* @see EntityReference
110
*/
111
public boolean isEntityReference();
112
113
/**
114
* A utility function to check if this event is a ProcessingInstruction.
115
* @return true if the event is {@code ProcessingInstruction}, false otherwise
116
* @see ProcessingInstruction
117
*/
118
public boolean isProcessingInstruction();
119
120
/**
121
* A utility function to check if this event is Characters.
122
* @return true if the event is {@code Characters}, false otherwise
123
* @see Characters
124
*/
125
public boolean isCharacters();
126
127
/**
128
* A utility function to check if this event is a StartDocument.
129
* @return true if the event is {@code StartDocument}, false otherwise
130
* @see StartDocument
131
*/
132
public boolean isStartDocument();
133
134
/**
135
* A utility function to check if this event is an EndDocument.
136
* @return true if the event is {@code EndDocument}, false otherwise
137
* @see EndDocument
138
*/
139
public boolean isEndDocument();
140
141
/**
142
* Returns this event as a start element event, may result in
143
* a class cast exception if this event is not a start element.
144
* @return a {@code StartElement} event
145
*/
146
public StartElement asStartElement();
147
148
/**
149
* Returns this event as an end element event, may result in
150
* a class cast exception if this event is not a end element.
151
* @return a {@code EndElement} event
152
*/
153
public EndElement asEndElement();
154
155
/**
156
* Returns this event as Characters, may result in
157
* a class cast exception if this event is not Characters.
158
* @return a {@code Characters} event
159
*/
160
public Characters asCharacters();
161
162
/**
163
* This method is provided for implementations to provide
164
* optional type information about the associated event.
165
* It is optional and will return null if no information
166
* is available.
167
* @return the type of the event, null if not available
168
*/
169
public QName getSchemaType();
170
171
/**
172
* This method will write the XMLEvent as per the XML 1.0 specification as Unicode characters.
173
* No indentation or whitespace should be outputted.
174
*
175
* Any user defined event type SHALL have this method
176
* called when being written to on an output stream.
177
* Built in Event types MUST implement this method,
178
* but implementations MAY choose not call these methods
179
* for optimizations reasons when writing out built in
180
* Events to an output stream.
181
* The output generated MUST be equivalent in terms of the
182
* infoset expressed.
183
*
184
* @param writer The writer that will output the data
185
* @throws javax.xml.stream.XMLStreamException if there is a fatal error writing the event
186
*/
187
public void writeAsEncodedUnicode(Writer writer)
188
throws javax.xml.stream.XMLStreamException;
189
190
}
191
192