8023636: Missing files from 8022885

Fri, 23 Aug 2013 11:10:40 +0100

author
mkos
date
Fri, 23 Aug 2013 11:10:40 +0100
changeset 398
d8593d8581df
parent 397
b99d7e355d4b
child 399
533c1032337c

8023636: Missing files from 8022885
Reviewed-by: alanb, chegar

src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/StreamingSOAP.java file | annotate | diff | comparison | revisions
src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/NamespaceContextExAdaper.java file | annotate | diff | comparison | revisions
src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XMLReaderComposite.java file | annotate | diff | comparison | revisions
     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 +}

mercurial