Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-aarch32-jdk8u
Path: blob/jdk8u272-b10-aarch32-20201026/jaxp/src/com/sun/xml/internal/stream/StaxEntityResolverWrapper.java
83408 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;
27
28
import java.io.InputStream;
29
import javax.xml.stream.XMLEventReader;
30
import javax.xml.stream.XMLResolver;
31
import javax.xml.stream.XMLStreamException;
32
import javax.xml.stream.XMLStreamReader;
33
import com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier;
34
import com.sun.org.apache.xerces.internal.xni.XNIException;
35
import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;
36
37
/**
38
*
39
* @author Neeraj Bajaj
40
*/
41
public class StaxEntityResolverWrapper {
42
43
XMLResolver fStaxResolver ;
44
45
/** Creates a new instance of StaxEntityResolverWrapper */
46
public StaxEntityResolverWrapper(XMLResolver resolver) {
47
fStaxResolver = resolver ;
48
}
49
50
public void setStaxEntityResolver(XMLResolver resolver ){
51
fStaxResolver = resolver ;
52
}
53
54
public XMLResolver getStaxEntityResolver(){
55
return fStaxResolver ;
56
}
57
58
public StaxXMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier)
59
throws XNIException, java.io.IOException {
60
Object object = null ;
61
try{
62
object = fStaxResolver.resolveEntity(resourceIdentifier.getPublicId(), resourceIdentifier.getLiteralSystemId(),
63
resourceIdentifier.getBaseSystemId(), null);
64
return getStaxInputSource(object) ;
65
}catch(XMLStreamException streamException){
66
throw new XNIException(streamException) ;
67
}
68
}
69
70
StaxXMLInputSource getStaxInputSource(Object object){
71
if(object == null) return null ;
72
73
if(object instanceof java.io.InputStream){
74
return new StaxXMLInputSource(new XMLInputSource(null, null, null, (InputStream)object, null));
75
}
76
else if(object instanceof XMLStreamReader){
77
return new StaxXMLInputSource((XMLStreamReader)object) ;
78
}else if(object instanceof XMLEventReader){
79
return new StaxXMLInputSource((XMLEventReader)object) ;
80
}
81
82
return null ;
83
}
84
}//class StaxEntityResolverWrapper
85
86