⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hsrwimpl.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
字号:
/* * Copyright 2006-2007 Queplix Corp. * * Licensed under the Queplix Public License, Version 1.1.1 (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.queplix.com/solutions/commercial-open-source/queplix-public-license/ * * 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 com.queplix.core.utils.www;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.CharArrayWriter;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;/** * <p>Implementation of http servlet response wrapper</p> * @author [ALB] Baranov Andrey * @version $Revision: 1.1.1.1 $ $Date: 2005/09/12 15:31:24 $ */public class HSRWImpl    extends HttpServletResponseWrapper {    public static final int BUFFER_SIZE = 3 * 1024; // Value got from Reflective report.    // constructor parameter    private OutputStream os;    // print writer    private PrintWriter pw;    private CharArrayWriter caw;    // output stream    private ServletOutputStream sos;    private ByteArrayOutputStream baos;    protected int contentLength;    protected String contentType;    protected String encoding;    /**     * Constructor.     * @param response Servlet response     */    public HSRWImpl( HttpServletResponse response ) {        this( response, null );    }    /**     * Constructor.     * @param response HttpServletResponse     * @param os ServletOutputStream     */    public HSRWImpl( HttpServletResponse response, OutputStream os ) {        super( response );        this.encoding = "UTF-8";        this.os = os;    }    /**     * Returns value of property Writer     * @return value of property Writer     * @exception IOException General input/output exception     */    public PrintWriter getWriter()        throws IOException {        if( pw == null ) {            if( os != null ) {                OutputStreamWriter osw = new OutputStreamWriter( os, encoding );                pw = new PrintWriter( new BufferedWriter( osw ) );            } else {                caw = new CharArrayWriter( BUFFER_SIZE );                pw = new PrintWriter( caw );            }        }        return pw;    }    /**     * Returns value of property OutputStream     * @exception IOException General input/output exception     * @return value of property OutputStream     */    public ServletOutputStream getOutputStream()        throws IOException {        if( sos == null ) {            if( os == null ) {                baos = new ByteArrayOutputStream( BUFFER_SIZE );                sos = new ServletOutputStreamImpl( baos );            } else {                sos = new ServletOutputStreamImpl( os );            }        }        return sos;    }    /**     * Sets value of property ContentType     * @param s content type     */    public void setContentType( String s ) {        super.setContentType( s );        contentType = s;    }    /**     * Returns value of property ContentType     * @return value of property ContentType     */    public String getContentType() {        return contentType;    }    /**     * Sets value of property ContentLength     * @param len length     */    public void setContentLength( int len ) {        contentLength = len;    }    /**     * Returns value of property ContentLength     * @return value of property ContentLength     */    public int getContentLength() {        return contentLength;    }    /**     * Returns value of property Data     * @return value of property Data     * @throws IOException     */    public byte[] getData()        throws IOException {        try {            if( sos != null ) {                if( baos == null ) {                    throw new IllegalStateException( "ByteArrayOutputStream not initialized" );                }                return baos.toByteArray();            } else {                if( caw == null ) {                    throw new IllegalStateException( "CharArrayWriter not initialized" );                }                return caw.toString().getBytes( encoding );            }        } catch( UnsupportedEncodingException ex ) {            throw new IllegalStateException( ex.getMessage() );        }    }    /**     * Returns value of property Data     * @return value of property Data     */    public String getString() {        try {            if( sos != null ) {                if( baos == null ) {                    throw new IllegalStateException( "ByteArrayOutputStream not initialized" );                }                return baos.toString( encoding );            } else {                if( caw == null ) {                    throw new IllegalStateException( "CharArrayWriter not initialized" );                }                return caw.toString();            }        } catch( UnsupportedEncodingException ex ) {            throw new IllegalStateException( ex.getMessage() );        }    }    /**     * Flushes output buffers.     * @throws IOException     */    public void flush()        throws IOException {        if( sos != null ) {            sos.flush();        } else if( pw != null ) {            pw.flush();        }    }    // ----------------------------------------------------------------- inner class    //    // ServletOutputStream implementation    //    protected static class ServletOutputStreamImpl        extends ServletOutputStream {        OutputStream os;        public ServletOutputStreamImpl( OutputStream os ) {            this.os = os;        }        public void write( int i )            throws IOException {            os.write( i );        }    } // end ServletOutputStreamImpl}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -