Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jaxp/src/com/sun/xml/internal/stream/events/EntityDeclarationImpl.java
86414 views
1
/*
2
* Copyright (c) 2005, 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 com.sun.xml.internal.stream.events;
27
28
import javax.xml.stream.events.EntityDeclaration;
29
import javax.xml.stream.events.XMLEvent;
30
import com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier;
31
32
/**
33
*
34
* This class store all the information for a particular EntityDeclaration. EntityDeclaration interface
35
* has various get* functiosn to retirve information about a particular EntityDeclaration.
36
*
37
* @author Neeraj Bajaj, Sun Microsystems.
38
*/
39
public class EntityDeclarationImpl extends DummyEvent implements EntityDeclaration {
40
41
private XMLResourceIdentifier fXMLResourceIdentifier ;
42
private String fEntityName;
43
private String fReplacementText;
44
private String fNotationName;
45
46
/** Creates a new instance of EntityDeclarationImpl */
47
public EntityDeclarationImpl() {
48
init();
49
}
50
51
public EntityDeclarationImpl(String entityName , String replacementText){
52
this(entityName,replacementText,null);
53
54
}
55
56
public EntityDeclarationImpl(String entityName, String replacementText, XMLResourceIdentifier resourceIdentifier){
57
init();
58
fEntityName = entityName;
59
fReplacementText = replacementText;
60
fXMLResourceIdentifier = resourceIdentifier;
61
}
62
63
public void setEntityName(String entityName){
64
fEntityName = entityName;
65
}
66
67
public String getEntityName(){
68
return fEntityName;
69
}
70
71
public void setEntityReplacementText(String replacementText){
72
fReplacementText = replacementText;
73
}
74
75
public void setXMLResourceIdentifier(XMLResourceIdentifier resourceIdentifier){
76
fXMLResourceIdentifier = resourceIdentifier ;
77
}
78
79
public XMLResourceIdentifier getXMLResourceIdentifier(){
80
return fXMLResourceIdentifier;
81
}
82
83
public String getSystemId(){
84
if(fXMLResourceIdentifier != null)
85
return fXMLResourceIdentifier.getLiteralSystemId();
86
return null;
87
}
88
89
public String getPublicId(){
90
if(fXMLResourceIdentifier != null)
91
return fXMLResourceIdentifier.getPublicId();
92
93
return null;
94
}
95
96
public String getBaseURI() {
97
if(fXMLResourceIdentifier != null)
98
return fXMLResourceIdentifier.getBaseSystemId();
99
return null;
100
}
101
102
public String getName(){
103
return fEntityName;
104
}
105
106
public String getNotationName() {
107
return fNotationName;
108
}
109
110
public void setNotationName(String notationName){
111
fNotationName = notationName;
112
}
113
114
public String getReplacementText() {
115
return fReplacementText;
116
}
117
118
protected void init(){
119
setEventType(XMLEvent.ENTITY_DECLARATION);
120
}
121
122
protected void writeAsEncodedUnicodeEx(java.io.Writer writer)
123
throws java.io.IOException
124
{
125
writer.write("<!ENTITY ");
126
writer.write(fEntityName);
127
if (fReplacementText != null) {
128
//internal entity
129
//escape quotes, lt and amps
130
writer.write(" \"");
131
charEncode(writer, fReplacementText);
132
} else {
133
//external entity
134
String pubId = getPublicId();
135
if (pubId != null) {
136
writer.write(" PUBLIC \"");
137
writer.write(pubId);
138
} else {
139
writer.write(" SYSTEM \"");
140
writer.write(getSystemId());
141
}
142
}
143
writer.write("\"");
144
if (fNotationName != null) {
145
writer.write(" NDATA ");
146
writer.write(fNotationName);
147
}
148
writer.write(">");
149
}
150
}
151
152