org.apache.servicemix.soap.util.stax
Class StaxUtil

java.lang.Object
  extended by org.apache.servicemix.soap.util.stax.StaxUtil

public class StaxUtil
extends java.lang.Object

Stax related utilities. Some of this code has been borrowed from the XFire project

Author:
Guillaume Nodet, Dan Diephouse

Constructor Summary
StaxUtil()
           
 
Method Summary
protected static java.lang.String choosePrefix(javax.xml.stream.XMLStreamWriter out, javax.xml.namespace.QName name, boolean declare)
           
static void copy(javax.xml.stream.XMLStreamReader reader, javax.xml.stream.XMLStreamWriter writer)
          Copies the reader to the writer.
static org.w3c.dom.Element createElement(javax.xml.stream.XMLStreamReader reader)
           
static javax.xml.stream.XMLStreamReader createReader(java.io.InputStream is)
           
static javax.xml.stream.XMLStreamReader createReader(java.io.InputStream is, java.lang.String encoding)
           
static javax.xml.stream.XMLStreamReader createReader(javax.xml.transform.Source source)
           
static javax.xml.transform.Source createSource(javax.xml.stream.XMLStreamReader reader)
           
static javax.xml.stream.XMLStreamWriter createWriter(java.io.OutputStream os)
           
static javax.xml.stream.XMLStreamWriter createWriter(java.io.OutputStream os, java.lang.String encoding)
           
protected static java.lang.String getUniquePrefix(javax.xml.stream.XMLStreamWriter writer)
           
static javax.xml.stream.XMLInputFactory getXMLInputFactory()
           
static javax.xml.stream.XMLOutputFactory getXMLOutputFactory()
           
static javax.xml.namespace.QName readQName(javax.xml.stream.XMLStreamReader reader)
          Reads a QName from the element text.
static void writeStartElement(javax.xml.stream.XMLStreamWriter writer, javax.xml.namespace.QName name)
          Write a start element with the given QName.
static void writeStartElement(javax.xml.stream.XMLStreamWriter writer, java.lang.String uri, java.lang.String local, java.lang.String prefix)
          Write a start element with the specified parameters
static void writeTextQName(javax.xml.stream.XMLStreamWriter out, javax.xml.namespace.QName name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StaxUtil

public StaxUtil()
Method Detail

createReader

public static javax.xml.stream.XMLStreamReader createReader(java.io.InputStream is)

createReader

public static javax.xml.stream.XMLStreamReader createReader(java.io.InputStream is,
                                                            java.lang.String encoding)

createReader

public static javax.xml.stream.XMLStreamReader createReader(javax.xml.transform.Source source)

createSource

public static javax.xml.transform.Source createSource(javax.xml.stream.XMLStreamReader reader)

createElement

public static org.w3c.dom.Element createElement(javax.xml.stream.XMLStreamReader reader)

getXMLInputFactory

public static javax.xml.stream.XMLInputFactory getXMLInputFactory()

createWriter

public static javax.xml.stream.XMLStreamWriter createWriter(java.io.OutputStream os)

createWriter

public static javax.xml.stream.XMLStreamWriter createWriter(java.io.OutputStream os,
                                                            java.lang.String encoding)

getXMLOutputFactory

public static javax.xml.stream.XMLOutputFactory getXMLOutputFactory()

readQName

public static javax.xml.namespace.QName readQName(javax.xml.stream.XMLStreamReader reader)
                                           throws javax.xml.stream.XMLStreamException
Reads a QName from the element text. Reader must be positioned at the start tag.

Throws:
javax.xml.stream.XMLStreamException

copy

public static void copy(javax.xml.stream.XMLStreamReader reader,
                        javax.xml.stream.XMLStreamWriter writer)
                 throws javax.xml.stream.XMLStreamException
Copies the reader to the writer. The start and end document methods must be handled on the writer manually. TODO: if the namespace on the reader has been declared previously to where we are in the stream, this probably won't work.

Parameters:
reader -
writer -
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public static void writeStartElement(javax.xml.stream.XMLStreamWriter writer,
                                     java.lang.String uri,
                                     java.lang.String local,
                                     java.lang.String prefix)
                              throws javax.xml.stream.XMLStreamException
Write a start element with the specified parameters

Parameters:
writer -
uri -
local -
prefix -
Throws:
javax.xml.stream.XMLStreamException

writeStartElement

public static void writeStartElement(javax.xml.stream.XMLStreamWriter writer,
                                     javax.xml.namespace.QName name)
                              throws javax.xml.stream.XMLStreamException
Write a start element with the given QName. However, if a namespace has already been bound to a prefix, use the existing one, else default to the prefix in the QName (if specified). Else, a prefix is generated.

Parameters:
writer -
name -
Throws:
javax.xml.stream.XMLStreamException

writeTextQName

public static void writeTextQName(javax.xml.stream.XMLStreamWriter out,
                                  javax.xml.namespace.QName name)
                           throws javax.xml.stream.XMLStreamException
Parameters:
out -
name -
Throws:
javax.xml.stream.XMLStreamException

choosePrefix

protected static java.lang.String choosePrefix(javax.xml.stream.XMLStreamWriter out,
                                               javax.xml.namespace.QName name,
                                               boolean declare)
                                        throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

getUniquePrefix

protected static java.lang.String getUniquePrefix(javax.xml.stream.XMLStreamWriter writer)


Copyright © 2005-2015 FuseSource. All Rights Reserved.