Fri, 23 Aug 2013 11:10:40 +0100
8023636: Missing files from 8022885
Reviewed-by: alanb, chegar
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java Fri Aug 23 11:10:40 2013 +0100 1.3 @@ -0,0 +1,32 @@ 1.4 +/* 1.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 + * 1.8 + * This code is free software; you can redistribute it and/or modify it 1.9 + * under the terms of the GNU General Public License version 2 only, as 1.10 + * published by the Free Software Foundation. Oracle designates this 1.11 + * particular file as subject to the "Classpath" exception as provided 1.12 + * by Oracle in the LICENSE file that accompanied this code. 1.13 + * 1.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 1.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 + * version 2 for more details (a copy is included in the LICENSE file that 1.18 + * accompanied this code). 1.19 + * 1.20 + * You should have received a copy of the GNU General Public License version 1.21 + * 2 along with this work; if not, write to the Free Software Foundation, 1.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 + * 1.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 1.25 + * or visit www.oracle.com if you need additional information or have any 1.26 + * questions. 1.27 + */ 1.28 + 1.29 +package com.sun.xml.internal.ws.api.message; 1.30 + 1.31 +import javax.xml.stream.XMLStreamReader; 1.32 + 1.33 +public interface StreamingSOAP { 1.34 + public XMLStreamReader readEnvelope(); 1.35 +}
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/NamespaceContextExAdaper.java Fri Aug 23 11:10:40 2013 +0100 2.3 @@ -0,0 +1,61 @@ 2.4 +/* 2.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 2.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.7 + * 2.8 + * This code is free software; you can redistribute it and/or modify it 2.9 + * under the terms of the GNU General Public License version 2 only, as 2.10 + * published by the Free Software Foundation. Oracle designates this 2.11 + * particular file as subject to the "Classpath" exception as provided 2.12 + * by Oracle in the LICENSE file that accompanied this code. 2.13 + * 2.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 2.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2.17 + * version 2 for more details (a copy is included in the LICENSE file that 2.18 + * accompanied this code). 2.19 + * 2.20 + * You should have received a copy of the GNU General Public License version 2.21 + * 2 along with this work; if not, write to the Free Software Foundation, 2.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2.23 + * 2.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2.25 + * or visit www.oracle.com if you need additional information or have any 2.26 + * questions. 2.27 + */ 2.28 + 2.29 +package com.sun.xml.internal.ws.util.xml; 2.30 + 2.31 +import java.util.Iterator; 2.32 + 2.33 +import javax.xml.namespace.NamespaceContext; 2.34 + 2.35 +import com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx; 2.36 + 2.37 +public class NamespaceContextExAdaper implements NamespaceContextEx { 2.38 + 2.39 + private final NamespaceContext nsContext; 2.40 + 2.41 + public NamespaceContextExAdaper(NamespaceContext nsContext) { 2.42 + this.nsContext = nsContext; 2.43 + } 2.44 + 2.45 + @Override //Who wants this? 2.46 + public Iterator<Binding> iterator() { 2.47 + throw new UnsupportedOperationException(); 2.48 + } 2.49 + 2.50 + @Override 2.51 + public String getNamespaceURI(String prefix) { 2.52 + return nsContext.getNamespaceURI(prefix); 2.53 + } 2.54 + 2.55 + @Override 2.56 + public String getPrefix(String namespaceURI) { 2.57 + return nsContext.getPrefix(namespaceURI); 2.58 + } 2.59 + 2.60 + @Override 2.61 + public Iterator getPrefixes(String namespaceURI) { 2.62 + return nsContext.getPrefixes(namespaceURI); 2.63 + } 2.64 +}
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLReaderComposite.java Fri Aug 23 11:10:40 2013 +0100 3.3 @@ -0,0 +1,662 @@ 3.4 +/* 3.5 + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 3.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.7 + * 3.8 + * This code is free software; you can redistribute it and/or modify it 3.9 + * under the terms of the GNU General Public License version 2 only, as 3.10 + * published by the Free Software Foundation. Oracle designates this 3.11 + * particular file as subject to the "Classpath" exception as provided 3.12 + * by Oracle in the LICENSE file that accompanied this code. 3.13 + * 3.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 3.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 3.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 3.17 + * version 2 for more details (a copy is included in the LICENSE file that 3.18 + * accompanied this code). 3.19 + * 3.20 + * You should have received a copy of the GNU General Public License version 3.21 + * 2 along with this work; if not, write to the Free Software Foundation, 3.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 3.23 + * 3.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 3.25 + * or visit www.oracle.com if you need additional information or have any 3.26 + * questions. 3.27 + */ 3.28 + 3.29 +package com.sun.xml.internal.ws.util.xml; 3.30 + 3.31 +import java.util.Iterator; 3.32 +import java.util.List; 3.33 + 3.34 +import javax.xml.namespace.NamespaceContext; 3.35 +import javax.xml.namespace.QName; 3.36 +import javax.xml.stream.Location; 3.37 +import javax.xml.stream.XMLStreamException; 3.38 +import javax.xml.stream.XMLStreamReader; 3.39 + 3.40 +import com.sun.xml.internal.org.jvnet.staxex.NamespaceContextEx; 3.41 +import com.sun.xml.internal.org.jvnet.staxex.XMLStreamReaderEx; 3.42 + 3.43 +import com.sun.xml.internal.ws.encoding.TagInfoset; 3.44 + 3.45 +/** 3.46 + * XMLReaderComposite 3.47 + * 3.48 + * @author shih-chang.chen@oracle.com 3.49 + */ 3.50 +public class XMLReaderComposite implements XMLStreamReaderEx { 3.51 + 3.52 + static public enum State { StartTag, Payload, EndTag } 3.53 + 3.54 + protected State state = State.StartTag; 3.55 + protected ElemInfo elemInfo; 3.56 + protected TagInfoset tagInfo; 3.57 + protected XMLStreamReader[] children; 3.58 + protected int payloadIndex = -1; 3.59 + protected XMLStreamReader payloadReader; 3.60 + 3.61 + static public class ElemInfo implements NamespaceContext { 3.62 + ElemInfo ancestor; 3.63 + TagInfoset tagInfo; 3.64 + public ElemInfo(TagInfoset tag, ElemInfo parent) { tagInfo = tag; ancestor = parent; } 3.65 + public String getNamespaceURI(String prefix) { 3.66 + String n = tagInfo.getNamespaceURI(prefix); 3.67 + return (n != null) ? n : (ancestor != null) ? ancestor.getNamespaceURI(prefix) : null; 3.68 + } 3.69 + public String getPrefix(String uri) { 3.70 + String p = tagInfo.getPrefix(uri); 3.71 + return (p != null) ? p : (ancestor != null) ? ancestor.getPrefix(uri) : null; 3.72 + } 3.73 + //Who wants this? 3.74 + public List<String> allPrefixes(String namespaceURI) { 3.75 + List<String> l = tagInfo.allPrefixes(namespaceURI); 3.76 + if (ancestor != null) { 3.77 + List<String> p = ancestor.allPrefixes(namespaceURI); 3.78 + p.addAll(l); 3.79 + return p; 3.80 + } 3.81 + return l; 3.82 + } 3.83 + public Iterator<String> getPrefixes(String namespaceURI) { 3.84 + return allPrefixes(namespaceURI).iterator(); 3.85 + } 3.86 + } 3.87 + 3.88 + public XMLReaderComposite(final ElemInfo elem, XMLStreamReader[] wrapees) { 3.89 + elemInfo = elem; 3.90 + tagInfo = elem.tagInfo; 3.91 + children = wrapees; 3.92 + if (children != null && children.length > 0) { 3.93 + payloadIndex = 0; 3.94 + payloadReader = children[payloadIndex]; 3.95 + } 3.96 + } 3.97 + 3.98 + 3.99 + @Override 3.100 + public int next() throws XMLStreamException { 3.101 + switch (state) { 3.102 + case StartTag: 3.103 + if (payloadReader != null) { 3.104 + state = State.Payload; 3.105 + return payloadReader.getEventType(); 3.106 + } else { 3.107 + state = State.EndTag; 3.108 + return XMLStreamReader.END_ELEMENT; 3.109 + } 3.110 + case EndTag: return XMLStreamReader.END_DOCUMENT; 3.111 + case Payload: 3.112 + default: 3.113 + int next = XMLStreamReader.END_DOCUMENT; 3.114 + if (payloadReader != null && payloadReader.hasNext()) { 3.115 + next = payloadReader.next(); 3.116 + } 3.117 + if (next != XMLStreamReader.END_DOCUMENT) return next; 3.118 + else { 3.119 + if (payloadIndex+1 < children.length ) { 3.120 + payloadIndex++; 3.121 + payloadReader = children[payloadIndex]; 3.122 + return payloadReader.getEventType(); 3.123 + } else { 3.124 + state = State.EndTag; 3.125 + return XMLStreamReader.END_ELEMENT; 3.126 + } 3.127 + } 3.128 + } 3.129 + } 3.130 + 3.131 + @Override 3.132 + public boolean hasNext() throws XMLStreamException { 3.133 + switch (state) { 3.134 + case EndTag: return false; 3.135 + case StartTag: 3.136 + case Payload: 3.137 + default: return true; 3.138 + } 3.139 + } 3.140 + 3.141 + @Override 3.142 + public String getElementText() throws XMLStreamException { 3.143 + switch (state) { 3.144 + case StartTag: 3.145 + if (payloadReader.isCharacters()) return payloadReader.getText(); 3.146 + return ""; 3.147 + case Payload: 3.148 + default: 3.149 + return payloadReader.getElementText(); 3.150 + } 3.151 + } 3.152 + 3.153 + @Override 3.154 + public int nextTag() throws XMLStreamException { 3.155 + int e = next(); 3.156 + if (e == XMLStreamReader.END_DOCUMENT) return e; 3.157 + while (e != XMLStreamReader.END_DOCUMENT) { 3.158 + if (e == XMLStreamReader.START_ELEMENT) return e; 3.159 + if (e == XMLStreamReader.END_ELEMENT) return e; 3.160 + e = next(); 3.161 + } 3.162 + return e; 3.163 + } 3.164 + 3.165 + @Override 3.166 + public Object getProperty(String name) throws IllegalArgumentException { 3.167 + return (payloadReader != null) ? payloadReader.getProperty(name) : null; 3.168 + } 3.169 + 3.170 + @Override 3.171 + public void require(int type, String namespaceURI, String localName) throws XMLStreamException { 3.172 + if (payloadReader!=null) payloadReader.require(type, namespaceURI, localName); 3.173 + } 3.174 + 3.175 + @Override 3.176 + public void close() throws XMLStreamException { 3.177 + if (payloadReader!=null) payloadReader.close(); 3.178 + } 3.179 + 3.180 + @Override 3.181 + public String getNamespaceURI(String prefix) { 3.182 + switch (state) { 3.183 + case StartTag: 3.184 + case EndTag: 3.185 + return elemInfo.getNamespaceURI(prefix); 3.186 + case Payload: 3.187 + default: 3.188 + return payloadReader.getNamespaceURI(prefix); 3.189 + } 3.190 + } 3.191 + 3.192 + @Override 3.193 + public boolean isStartElement() { 3.194 + switch (state) { 3.195 + case StartTag: return true; 3.196 + case EndTag: return false; 3.197 + case Payload: 3.198 + default: 3.199 + return payloadReader.isStartElement(); 3.200 + } 3.201 + } 3.202 + 3.203 + @Override 3.204 + public boolean isEndElement() { 3.205 + switch (state) { 3.206 + case StartTag: return false; 3.207 + case EndTag: return true; 3.208 + case Payload: 3.209 + default: 3.210 + return payloadReader.isEndElement(); 3.211 + } 3.212 + } 3.213 + 3.214 + @Override 3.215 + public boolean isCharacters() { 3.216 + switch (state) { 3.217 + case StartTag: 3.218 + case EndTag: return false; 3.219 + case Payload: 3.220 + default: 3.221 + return payloadReader.isCharacters(); 3.222 + } 3.223 + } 3.224 + 3.225 + @Override 3.226 + public boolean isWhiteSpace() { 3.227 + switch (state) { 3.228 + case StartTag: 3.229 + case EndTag: return false; 3.230 + case Payload: 3.231 + default: 3.232 + return payloadReader.isWhiteSpace(); 3.233 + } 3.234 + } 3.235 + 3.236 + @Override 3.237 + public String getAttributeValue(String uri, String localName) { 3.238 + switch (state) { 3.239 + case StartTag: 3.240 + case EndTag: return tagInfo.atts.getValue(uri, localName); 3.241 + case Payload: 3.242 + default: 3.243 + return payloadReader.getAttributeValue(uri, localName); 3.244 + } 3.245 + } 3.246 + 3.247 + @Override 3.248 + public int getAttributeCount() { 3.249 + switch (state) { 3.250 + case StartTag: 3.251 + case EndTag: return tagInfo.atts.getLength(); 3.252 + case Payload: 3.253 + default: 3.254 + return payloadReader.getAttributeCount(); 3.255 + } 3.256 + } 3.257 + 3.258 + @Override 3.259 + public QName getAttributeName(int i) { 3.260 + switch (state) { 3.261 + case StartTag: 3.262 + case EndTag: return new QName(tagInfo.atts.getURI(i),tagInfo.atts.getLocalName(i),getPrfix(tagInfo.atts.getQName(i))); 3.263 + case Payload: 3.264 + default: 3.265 + return payloadReader.getAttributeName(i); 3.266 + } 3.267 + } 3.268 + 3.269 + @Override 3.270 + public String getAttributeNamespace(int index) { 3.271 + switch (state) { 3.272 + case StartTag: 3.273 + case EndTag: return tagInfo.atts.getURI(index); 3.274 + case Payload: 3.275 + default: 3.276 + return payloadReader.getAttributeNamespace(index); 3.277 + } 3.278 + } 3.279 + 3.280 + @Override 3.281 + public String getAttributeLocalName(int index) { 3.282 + switch (state) { 3.283 + case StartTag: 3.284 + case EndTag: return tagInfo.atts.getLocalName(index); 3.285 + case Payload: 3.286 + default: 3.287 + return payloadReader.getAttributeLocalName(index); 3.288 + } 3.289 + } 3.290 + 3.291 + @Override 3.292 + public String getAttributePrefix(int index) { 3.293 + switch (state) { 3.294 + case StartTag: 3.295 + case EndTag: return getPrfix(tagInfo.atts.getQName(index)); 3.296 + case Payload: 3.297 + default: 3.298 + return payloadReader.getAttributePrefix(index); 3.299 + } 3.300 + } 3.301 + 3.302 + static private String getPrfix(String qName) { 3.303 + if (qName == null) return null; 3.304 + int i = qName.indexOf(":"); 3.305 + return (i > 0)? qName.substring(0, i) : ""; 3.306 + } 3.307 + 3.308 + 3.309 + @Override 3.310 + public String getAttributeType(int index) { 3.311 + switch (state) { 3.312 + case StartTag: 3.313 + case EndTag: return tagInfo.atts.getType(index); 3.314 + case Payload: 3.315 + default: 3.316 + return payloadReader.getAttributeType(index); 3.317 + } 3.318 + } 3.319 + 3.320 + @Override 3.321 + public String getAttributeValue(int index) { 3.322 + switch (state) { 3.323 + case StartTag: 3.324 + case EndTag: return tagInfo.atts.getValue(index); 3.325 + case Payload: 3.326 + default: 3.327 + return payloadReader.getAttributeValue(index); 3.328 + } 3.329 + } 3.330 + 3.331 + @Override 3.332 + public boolean isAttributeSpecified(int index) { 3.333 + switch (state) { 3.334 + case StartTag: 3.335 + case EndTag: return (index < tagInfo.atts.getLength()) ? tagInfo.atts.getLocalName(index) != null : false; 3.336 + case Payload: 3.337 + default: 3.338 + return payloadReader.isAttributeSpecified(index); 3.339 + } 3.340 + } 3.341 + 3.342 + @Override 3.343 + public int getNamespaceCount() { 3.344 + switch (state) { 3.345 + case StartTag: 3.346 + case EndTag: return (tagInfo.ns.length/2); 3.347 + case Payload: 3.348 + default: 3.349 + return payloadReader.getNamespaceCount(); 3.350 + } 3.351 + } 3.352 + 3.353 + @Override 3.354 + public String getNamespacePrefix(int index) { 3.355 + switch (state) { 3.356 + case StartTag: 3.357 + case EndTag: return tagInfo.ns[2*index]; 3.358 + case Payload: 3.359 + default: 3.360 + return payloadReader.getNamespacePrefix(index); 3.361 + } 3.362 + } 3.363 + 3.364 + @Override 3.365 + public String getNamespaceURI(int index) { 3.366 + switch (state) { 3.367 + case StartTag: 3.368 + case EndTag: return tagInfo.ns[2*index+1]; 3.369 + case Payload: 3.370 + default: 3.371 + return payloadReader.getNamespaceURI(index); 3.372 + } 3.373 + } 3.374 + 3.375 + @Override 3.376 + public NamespaceContextEx getNamespaceContext() { 3.377 + switch (state) { 3.378 + case StartTag: 3.379 + case EndTag: return new NamespaceContextExAdaper(elemInfo); 3.380 + case Payload: 3.381 + default: 3.382 + return isPayloadReaderEx()? 3.383 + payloadReaderEx().getNamespaceContext() : 3.384 + new NamespaceContextExAdaper(payloadReader.getNamespaceContext()); 3.385 + } 3.386 + } 3.387 + 3.388 + private boolean isPayloadReaderEx() { return (payloadReader instanceof XMLStreamReaderEx); } 3.389 + 3.390 + private XMLStreamReaderEx payloadReaderEx() { return (XMLStreamReaderEx)payloadReader; } 3.391 + 3.392 + @Override 3.393 + public int getEventType() { 3.394 + switch (state) { 3.395 + case StartTag: return XMLStreamReader.START_ELEMENT; 3.396 + case EndTag: return XMLStreamReader.END_ELEMENT; 3.397 + case Payload: 3.398 + default: 3.399 + return payloadReader.getEventType(); 3.400 + } 3.401 + } 3.402 + 3.403 + @Override 3.404 + public String getText() { 3.405 + switch (state) { 3.406 + case StartTag: 3.407 + case EndTag: return null; 3.408 + case Payload: 3.409 + default: 3.410 + return payloadReader.getText(); 3.411 + } 3.412 + } 3.413 + 3.414 + @Override 3.415 + public char[] getTextCharacters() { 3.416 + switch (state) { 3.417 + case StartTag: 3.418 + case EndTag: return null; 3.419 + case Payload: 3.420 + default: 3.421 + return payloadReader.getTextCharacters(); 3.422 + } 3.423 + } 3.424 + 3.425 + @Override 3.426 + public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException { 3.427 + switch (state) { 3.428 + case StartTag: 3.429 + case EndTag: return -1; 3.430 + case Payload: 3.431 + default: 3.432 + return payloadReader.getTextCharacters(sourceStart, target, targetStart, length); 3.433 + } 3.434 + } 3.435 + 3.436 + @Override 3.437 + public int getTextStart() { 3.438 + switch (state) { 3.439 + case StartTag: 3.440 + case EndTag: return 0; 3.441 + case Payload: 3.442 + default: 3.443 + return payloadReader.getTextStart(); 3.444 + } 3.445 + } 3.446 + 3.447 + @Override 3.448 + public int getTextLength() { 3.449 + switch (state) { 3.450 + case StartTag: 3.451 + case EndTag: return 0; 3.452 + case Payload: 3.453 + default: 3.454 + return payloadReader.getTextLength(); 3.455 + } 3.456 + } 3.457 + 3.458 + @Override 3.459 + public String getEncoding() { 3.460 + switch (state) { 3.461 + case StartTag: 3.462 + case EndTag: return null; 3.463 + case Payload: 3.464 + default: 3.465 + return payloadReader.getEncoding(); 3.466 + } 3.467 + } 3.468 + 3.469 + @Override 3.470 + public boolean hasText() { 3.471 + switch (state) { 3.472 + case StartTag: 3.473 + case EndTag: return false; 3.474 + case Payload: 3.475 + default: 3.476 + return payloadReader.hasText(); 3.477 + } 3.478 + } 3.479 + 3.480 + @Override 3.481 + public Location getLocation() { 3.482 + switch (state) { 3.483 + case StartTag: 3.484 + case EndTag: return new Location() { 3.485 + 3.486 + @Override 3.487 + public int getLineNumber() { 3.488 + // TODO Auto-generated method stub 3.489 + return 0; 3.490 + } 3.491 + 3.492 + @Override 3.493 + public int getColumnNumber() { 3.494 + // TODO Auto-generated method stub 3.495 + return 0; 3.496 + } 3.497 + 3.498 + @Override 3.499 + public int getCharacterOffset() { 3.500 + // TODO Auto-generated method stub 3.501 + return 0; 3.502 + } 3.503 + 3.504 + @Override 3.505 + public String getPublicId() { 3.506 + // TODO Auto-generated method stub 3.507 + return null; 3.508 + } 3.509 + 3.510 + @Override 3.511 + public String getSystemId() { 3.512 + // TODO Auto-generated method stub 3.513 + return null; 3.514 + } 3.515 + 3.516 + }; 3.517 + case Payload: 3.518 + default: 3.519 + return payloadReader.getLocation(); 3.520 + } 3.521 + } 3.522 + 3.523 + @Override 3.524 + public QName getName() { 3.525 + switch (state) { 3.526 + case StartTag: 3.527 + case EndTag: return new QName(tagInfo.nsUri, tagInfo.localName, tagInfo.prefix); 3.528 + case Payload: 3.529 + default: 3.530 + return payloadReader.getName(); 3.531 + } 3.532 + } 3.533 + 3.534 + @Override 3.535 + public String getLocalName() { 3.536 + switch (state) { 3.537 + case StartTag: 3.538 + case EndTag: return tagInfo.localName; 3.539 + case Payload: 3.540 + default: 3.541 + return payloadReader.getLocalName(); 3.542 + } 3.543 + } 3.544 + 3.545 + @Override 3.546 + public boolean hasName() { 3.547 + switch (state) { 3.548 + case StartTag: 3.549 + case EndTag: return true; 3.550 + case Payload: 3.551 + default: 3.552 + return payloadReader.hasName(); 3.553 + } 3.554 + } 3.555 + 3.556 + @Override 3.557 + public String getNamespaceURI() { 3.558 + switch (state) { 3.559 + case StartTag: 3.560 + case EndTag: return tagInfo.nsUri; 3.561 + case Payload: 3.562 + default: 3.563 + return payloadReader.getNamespaceURI(); 3.564 + } 3.565 + } 3.566 + 3.567 + @Override 3.568 + public String getPrefix() { 3.569 + switch (state) { 3.570 + case StartTag: 3.571 + case EndTag: return tagInfo.prefix; 3.572 + case Payload: 3.573 + default: 3.574 + return payloadReader.getPrefix(); 3.575 + } 3.576 + } 3.577 + 3.578 + @Override 3.579 + public String getVersion() { 3.580 + switch (state) { 3.581 + case StartTag: 3.582 + case EndTag: return null; 3.583 + case Payload: 3.584 + default: 3.585 + return payloadReader.getVersion(); 3.586 + } 3.587 + } 3.588 + 3.589 + @Override 3.590 + public boolean isStandalone() { 3.591 + switch (state) { 3.592 + case StartTag: 3.593 + case EndTag: return true; 3.594 + case Payload: 3.595 + default: 3.596 + return payloadReader.isStandalone(); 3.597 + } 3.598 + } 3.599 + 3.600 + @Override 3.601 + public boolean standaloneSet() { 3.602 + switch (state) { 3.603 + case StartTag: 3.604 + case EndTag: return true; 3.605 + case Payload: 3.606 + default: 3.607 + return payloadReader.standaloneSet(); 3.608 + } 3.609 + } 3.610 + 3.611 + @Override 3.612 + public String getCharacterEncodingScheme() { 3.613 + switch (state) { 3.614 + case StartTag: 3.615 + case EndTag: return null; 3.616 + case Payload: 3.617 + default: 3.618 + return payloadReader.getCharacterEncodingScheme(); 3.619 + } 3.620 + } 3.621 + 3.622 + @Override 3.623 + public String getPITarget() { 3.624 + switch (state) { 3.625 + case StartTag: 3.626 + case EndTag: return null; 3.627 + case Payload: 3.628 + default: 3.629 + return payloadReader.getPITarget(); 3.630 + } 3.631 + } 3.632 + 3.633 + @Override 3.634 + public String getPIData() { 3.635 + switch (state) { 3.636 + case StartTag: 3.637 + case EndTag: return null; 3.638 + case Payload: 3.639 + default: 3.640 + return payloadReader.getPIData(); 3.641 + } 3.642 + } 3.643 + 3.644 + @Override 3.645 + public String getElementTextTrim() throws XMLStreamException { 3.646 + switch (state) { 3.647 + case StartTag: 3.648 + case EndTag: return null; 3.649 + case Payload: 3.650 + default: 3.651 + return isPayloadReaderEx()? payloadReaderEx().getElementTextTrim() : payloadReader.getElementText().trim(); 3.652 + } 3.653 + } 3.654 + 3.655 + @Override 3.656 + public CharSequence getPCDATA() throws XMLStreamException { 3.657 + switch (state) { 3.658 + case StartTag: 3.659 + case EndTag: return null; 3.660 + case Payload: 3.661 + default: 3.662 + return isPayloadReaderEx()? payloadReaderEx().getPCDATA() : payloadReader.getElementText(); 3.663 + } 3.664 + } 3.665 +}