You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/01/25 06:39:04 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util XMLWriter.java

remm        01/01/24 21:39:03

  Modified:    catalina/src/share/org/apache/catalina/util XMLWriter.java
  Log:
  - Adds streaming capabilities to the XML writer.
  
  Revision  Changes    Path
  1.4       +31 -11    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/XMLWriter.java
  
  Index: XMLWriter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/XMLWriter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLWriter.java	2000/11/09 07:23:05	1.3
  +++ XMLWriter.java	2001/01/25 05:39:02	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/XMLWriter.java,v 1.3 2000/11/09 07:23:05 remm Exp $
  - * $Revision: 1.3 $
  - * $Date: 2000/11/09 07:23:05 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/XMLWriter.java,v 1.4 2001/01/25 05:39:02 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/01/25 05:39:02 $
    *
    * ====================================================================
    *
  @@ -63,10 +63,13 @@
   
   package org.apache.catalina.util;
   
  +import java.io.IOException;
  +import java.io.Writer;
  +
   /**
    * XMLWriter helper class.
    * 
  - * @author Remy Maucherat
  + * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
    */
   public class XMLWriter {
       
  @@ -98,9 +101,15 @@
       /**
        * Buffer.
        */
  -    protected StringBuffer buffer;
  +    protected StringBuffer buffer = new StringBuffer();
  +    
       
  +    /**
  +     * Writer.
  +     */
  +    protected Writer writer = null;
       
  +    
       // ----------------------------------------------------------- Constructors
       
       
  @@ -108,10 +117,17 @@
        * Constructor.
        */
       public XMLWriter() {
  -        buffer = new StringBuffer();
       }
       
       
  +    /**
  +     * Constructor.
  +     */
  +    public XMLWriter(Writer writer) {
  +        this.writer = writer;
  +    }
  +    
  +    
       // --------------------------------------------------------- Public Methods
       
       
  @@ -138,6 +154,7 @@
           writeElement(namespace, namespaceInfo, name, OPENING);
           buffer.append(value);
           writeElement(namespace, namespaceInfo, name, CLOSING);
  +        
       }
       
       
  @@ -244,16 +261,19 @@
        * Write XML Header.
        */
       public void writeXMLHeader() {
  -        buffer.append("<?xml version=\"1.0\"?>\n");
  +        buffer.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n");
       }
       
       
       /**
  -     * Write XML Header.
  +     * Send data and reinitializes buffer.
        */
  -    public void writeXMLHeader(String encoding) {
  -        buffer.append("<?xml version=\"1.0\" encoding=\"" + encoding 
  -                      + "\"?>\n");
  +    public void sendData()
  +        throws IOException {
  +        if (writer != null) {
  +            writer.write(buffer.toString());
  +            buffer = new StringBuffer();
  +        }
       }