All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.enhydra.xml.xmlc.servlet.ServletLogWriter Maven / Gradle / Ivy

The newest version!
/*
 * Enhydra Java Application Server Project
 * 
 * The contents of this file are subject to the Enhydra Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License on
 * the Enhydra web site ( http://www.enhydra.org/ ).
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 
 * the License for the specific terms governing rights and limitations
 * under the License.
 * 
 * The Initial Developer of the Enhydra Application Server is Lutris
 * Technologies, Inc. The Enhydra Application Server and portions created
 * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
 * All Rights Reserved.
 * 
 * Contributor(s):
 * 
 * $Id: ServletLogWriter.java,v 1.2 2005/01/26 08:29:24 jkjome Exp $
 */

package org.enhydra.xml.xmlc.servlet;

import java.io.IOException;
import java.io.Writer;

import javax.servlet.ServletContext;

/**
 * Writer that writes to the ServletContext.log() method.  Accumulates data
 * until flush is called so that the write is in one line.
 */
class ServletLogWriter extends Writer {
    /**
     * ServletContext this logger is associated with.
     */
    private ServletContext fServletContext;

    /**
     * Buffer to accumulate a string to log.
     */
    private StringBuffer fBuf = new StringBuffer();

    /**
     * Constructor.
     */
    public ServletLogWriter(ServletContext servletContext) {
        fServletContext = servletContext;
    }

    /**
     * Close the stream.
     */
    public void close() throws IOException {
        flush();
    }

    /**
     * Flush the stream.
     */
    public void flush() throws IOException {
        if (fBuf.length() > 0) {
            fServletContext.log(fBuf.toString());
            fBuf.setLength(0);
        }
    }
        
    /** 
     * Write a portion of a character array.
     */
    public void write(char[] cbuf,
                      int off,
                      int len) throws IOException {
        fBuf.append(cbuf, off, len);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy