[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mirae-dev
Subject:    svn commit: r225337 [2/2] - in
From:       ias () apache ! org
Date:       2005-07-26 15:55:27
Message-ID: 20050726155529.82754.qmail () minotaur ! apache ! org
[Download RAW message or body]

Added: webservices/mirae/trunk/src/mirae/stax/javax/xml/stream/XMLStreamWriter.java
URL: http://svn.apache.org/viewcvs/webservices/mirae/trunk/src/mirae/stax/javax/xml/stream/XMLStreamWriter.java?rev=225337&view=auto
 ==============================================================================
--- webservices/mirae/trunk/src/mirae/stax/javax/xml/stream/XMLStreamWriter.java \
                (added)
+++ webservices/mirae/trunk/src/mirae/stax/javax/xml/stream/XMLStreamWriter.java Tue \
Jul 26 08:55:19 2005 @@ -0,0 +1,431 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.xml.stream;
+
+import javax.xml.namespace.NamespaceContext;
+
+/**
+ * The XMLStreamWriter interface specifies how to write XML. The XMLStreamWriter
+ * does not perform well formedness checking on its input. However the
+ * writeCharacters method is required to escape & , < and > For
+ * attribute values the writeAttribute method will escape the above characters
+ * plus " to ensure that all character content and attribute values are
+ * well formed.
+ * 
+ * Each NAMESPACE and ATTRIBUTE must be individually written.
+ * 
+ * If javax.xml.stream.isRepairingNamespaces is set to false it is a fatal error
+ * if an element is written with namespace URI that has not been bound to a
+ * prefix.
+ * 
+ * If javax.xml.stream.isRepairingNamespaces is set to true the XMLStreamWriter
+ * implementation must write a prefix for each unbound URI that it encounters in
+ * the current scope.
+ * 
+ * @version 1.0
+ * @see XMLOutputFactory
+ * @see XMLStreamReader
+ */
+public interface XMLStreamWriter {
+
+    /**
+     * Writes a start tag to the output. All writeStartElement methods open a
+     * new scope in the internal namespace context. Writing the corresponding
+     * EndElement causes the scope to be closed.
+     * 
+     * @param localName
+     *            local name of the tag, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeStartElement(String localName) throws XMLStreamException;
+
+    /**
+     * Writes a start tag to the output
+     * 
+     * @param namespaceURI
+     *            the namespaceURI of the prefix to use, may not be null
+     * @param localName
+     *            local name of the tag, may not be null
+     * @throws XMLStreamException
+     *             if the namespace URI has not been bound to a prefix and
+     *             javax.xml.stream.isPrefixDefaulting has not been set to true
+     */
+    public void writeStartElement(String namespaceURI, String localName)
+            throws XMLStreamException;
+
+    /**
+     * Writes a start tag to the output
+     * 
+     * @param localName
+     *            local name of the tag, may not be null
+     * @param prefix
+     *            the prefix of the tag, may not be null
+     * @param namespaceURI
+     *            the uri to bind the prefix to, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeStartElement(String prefix, String localName,
+            String namespaceURI) throws XMLStreamException;
+
+    /**
+     * Writes an empty element tag to the output
+     * 
+     * @param namespaceURI
+     *            the uri to bind the tag to, may not be null
+     * @param localName
+     *            local name of the tag, may not be null
+     * @throws XMLStreamException
+     *             if the namespace URI has not been bound to a prefix and
+     *             javax.xml.stream.isPrefixDefaulting has not been set to true
+     */
+    public void writeEmptyElement(String namespaceURI, String localName)
+            throws XMLStreamException;
+
+    /**
+     * Writes an empty element tag to the output
+     * 
+     * @param prefix
+     *            the prefix of the tag, may not be null
+     * @param localName
+     *            local name of the tag, may not be null
+     * @param namespaceURI
+     *            the uri to bind the tag to, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeEmptyElement(String prefix, String localName,
+            String namespaceURI) throws XMLStreamException;
+
+    /**
+     * Writes an empty element tag to the output
+     * 
+     * @param localName
+     *            local name of the tag, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeEmptyElement(String localName) throws XMLStreamException;
+
+    /**
+     * Writes string data to the output without checking for well formedness.
+     * The data is opaque to the XMLStreamWriter, i.e. the characters are
+     * written blindly to the underlying output. If the method cannot be
+     * supported in the currrent writing context the implementation may throw a
+     * UnsupportedOperationException. For example note that any namespace
+     * declarations, end tags, etc. will be ignored and could interfere with
+     * proper maintanence of the writers internal state.
+     * 
+     * @param data
+     *            the data to write
+     */
+    // public void writeRaw(String data) throws XMLStreamException;
+    /**
+     * Writes an end tag to the output relying on the internal state of the
+     * writer to determine the prefix and local name of the event.
+     * 
+     * @throws XMLStreamException
+     */
+    public void writeEndElement() throws XMLStreamException;
+
+    /**
+     * Closes any start tags and writes corresponding end tags.
+     * 
+     * @throws XMLStreamException
+     */
+    public void writeEndDocument() throws XMLStreamException;
+
+    /**
+     * Close this writer and free any resources associated with the writer. This
+     * must not close the underlying output stream.
+     * 
+     * @throws XMLStreamException
+     */
+    public void close() throws XMLStreamException;
+
+    /**
+     * Write any cached data to the underlying output mechanism.
+     * 
+     * @throws XMLStreamException
+     */
+    public void flush() throws XMLStreamException;
+
+    /**
+     * Writes an attribute to the output stream without a prefix.
+     * 
+     * @param localName
+     *            the local name of the attribute
+     * @param value
+     *            the value of the attribute
+     * @throws IllegalStateException
+     *             if the current state does not allow Attribute writing
+     * @throws XMLStreamException
+     */
+    public void writeAttribute(String localName, String value)
+            throws XMLStreamException;
+
+    /**
+     * Writes an attribute to the output stream
+     * 
+     * @param prefix
+     *            the prefix for this attribute
+     * @param namespaceURI
+     *            the uri of the prefix for this attribute
+     * @param localName
+     *            the local name of the attribute
+     * @param value
+     *            the value of the attribute
+     * @throws IllegalStateException
+     *             if the current state does not allow Attribute writing
+     * @throws XMLStreamException
+     *             if the namespace URI has not been bound to a prefix and
+     *             javax.xml.stream.isPrefixDefaulting has not been set to true
+     */
+
+    public void writeAttribute(String prefix, String namespaceURI,
+            String localName, String value) throws XMLStreamException;
+
+    /**
+     * Writes an attribute to the output stream
+     * 
+     * @param namespaceURI
+     *            the uri of the prefix for this attribute
+     * @param localName
+     *            the local name of the attribute
+     * @param value
+     *            the value of the attribute
+     * @throws IllegalStateException
+     *             if the current state does not allow Attribute writing
+     * @throws XMLStreamException
+     *             if the namespace URI has not been bound to a prefix and
+     *             javax.xml.stream.isPrefixDefaulting has not been set to true
+     */
+    public void writeAttribute(String namespaceURI, String localName,
+            String value) throws XMLStreamException;
+
+    /**
+     * Writes a namespace to the output stream If the prefix argument to this
+     * method is the empty string, "xmlns", or null this method will delegate to
+     * writeDefaultNamespace
+     * 
+     * @param prefix
+     *            the prefix to bind this namespace to
+     * @param namespaceURI
+     *            the uri to bind the prefix to
+     * @throws IllegalStateException
+     *             if the current state does not allow Namespace writing
+     * @throws XMLStreamException
+     */
+    public void writeNamespace(String prefix, String namespaceURI)
+            throws XMLStreamException;
+
+    /**
+     * Writes the default namespace to the stream
+     * 
+     * @param namespaceURI
+     *            the uri to bind the default namespace to
+     * @throws IllegalStateException
+     *             if the current state does not allow Namespace writing
+     * @throws XMLStreamException
+     */
+    public void writeDefaultNamespace(String namespaceURI)
+            throws XMLStreamException;
+
+    /**
+     * Writes an xml comment with the data enclosed
+     * 
+     * @param data
+     *            the data contained in the comment, may be null
+     * @throws XMLStreamException
+     */
+    public void writeComment(String data) throws XMLStreamException;
+
+    /**
+     * Writes a processing instruction
+     * 
+     * @param target
+     *            the target of the processing instruction, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeProcessingInstruction(String target)
+            throws XMLStreamException;
+
+    /**
+     * Writes a processing instruction
+     * 
+     * @param target
+     *            the target of the processing instruction, may not be null
+     * @param data
+     *            the data contained in the processing instruction, may not be
+     *            null
+     * @throws XMLStreamException
+     */
+    public void writeProcessingInstruction(String target, String data)
+            throws XMLStreamException;
+
+    /**
+     * Writes a CData section
+     * 
+     * @param data
+     *            the data contained in the CData Section, may not be null
+     * @throws XMLStreamException
+     */
+    public void writeCData(String data) throws XMLStreamException;
+
+    /**
+     * Write a DTD section. This string represents the entire doctypedecl
+     * production from the XML 1.0 specification.
+     * 
+     * @param dtd
+     *            the DTD to be written
+     * @throws XMLStreamException
+     */
+    public void writeDTD(String dtd) throws XMLStreamException;
+
+    /**
+     * Writes an entity reference
+     * 
+     * @param name
+     *            the name of the entity
+     * @throws XMLStreamException
+     */
+    public void writeEntityRef(String name) throws XMLStreamException;
+
+    /**
+     * Write the XML Declaration. Defaults the XML version to 1.0, and the
+     * encoding to utf-8
+     * 
+     * @throws XMLStreamException
+     */
+    public void writeStartDocument() throws XMLStreamException;
+
+    /**
+     * Write the XML Declaration. Defaults the XML version to 1.0
+     * 
+     * @param version
+     *            version of the xml document
+     * @throws XMLStreamException
+     */
+    public void writeStartDocument(String version) throws XMLStreamException;
+
+    /**
+     * Write the XML Declaration. Note that the encoding parameter does not set
+     * the actual encoding of the underlying output. That must be set when the
+     * instance of the XMLStreamWriter is created using the XMLOutputFactory
+     * 
+     * @param encoding
+     *            encoding of the xml declaration
+     * @param version
+     *            version of the xml document
+     * @throws XMLStreamException
+     */
+    public void writeStartDocument(String encoding, String version)
+            throws XMLStreamException;
+
+    /**
+     * Write text to the output
+     * 
+     * @param text
+     *            the value to write
+     * @throws XMLStreamException
+     */
+    public void writeCharacters(String text) throws XMLStreamException;
+
+    /**
+     * Write text to the output
+     * 
+     * @param text
+     *            the value to write
+     * @param start
+     *            the starting position in the array
+     * @param len
+     *            the number of characters to write
+     * @throws XMLStreamException
+     */
+    public void writeCharacters(char[] text, int start, int len)
+            throws XMLStreamException;
+
+    /**
+     * Gets the prefix the uri is bound to
+     * 
+     * @return the prefix or null
+     * @throws XMLStreamException
+     */
+    public String getPrefix(String uri) throws XMLStreamException;
+
+    /**
+     * Sets the prefix the uri is bound to. This prefix is bound in the scope of
+     * the current START_ELEMENT / END_ELEMENT pair. If this method is called
+     * before a START_ELEMENT has been written the prefix is bound in the root
+     * scope.
+     * 
+     * @param prefix
+     *            the prefix to bind to the uri, may not be null
+     * @param uri
+     *            the uri to bind to the prefix, may be null
+     * @throws XMLStreamException
+     */
+    public void setPrefix(String prefix, String uri) throws XMLStreamException;
+
+    /**
+     * Binds a URI to the default namespace This URI is bound in the scope of
+     * the current START_ELEMENT / END_ELEMENT pair. If this method is called
+     * before a START_ELEMENT has been written the uri is bound in the root
+     * scope.
+     * 
+     * @param uri
+     *            the uri to bind to the default namespace, may be null
+     * @throws XMLStreamException
+     */
+    public void setDefaultNamespace(String uri) throws XMLStreamException;
+
+    /**
+     * Sets the current namespace context for prefix and uri bindings. This
+     * context becomes the root namespace context for writing and will replace
+     * the current root namespace context. Subsequent calls to setPrefix and
+     * setDefaultNamespace will bind namespaces using the context passed to the
+     * method as the root context for resolving namespaces. This method may only
+     * be called once at the start of the document. It does not cause the
+     * namespaces to be declared. If a namespace URI to prefix mapping is found
+     * in the namespace context it is treated as declared and the prefix may be
+     * used by the StreamWriter.
+     * 
+     * @param context
+     *            the namespace context to use for this writer, may not be null
+     * @throws XMLStreamException
+     */
+    public void setNamespaceContext(NamespaceContext context)
+            throws XMLStreamException;
+
+    /**
+     * Returns the current namespace context.
+     * 
+     * @return the current NamespaceContext
+     */
+    public NamespaceContext getNamespaceContext();
+
+    /**
+     * Get the value of a feature/property from the underlying implementation
+     * 
+     * @param name
+     *            The name of the property, may not be null
+     * @return The value of the property
+     * @throws IllegalArgumentException
+     *             if the property is not supported
+     * @throws NullPointerException
+     *             if the name is null
+     */
+    public Object getProperty(java.lang.String name)
+            throws IllegalArgumentException;
+
+}

Propchange: webservices/mirae/trunk/src/mirae/stax/javax/xml/stream/XMLStreamWriter.java
                
------------------------------------------------------------------------------
    svn:executable = *


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic