WatchableOutputStream.java
上传用户:sxlinghang
上传日期:2022-07-20
资源大小:1405k
文件大小:2k
源码类别:

数据库编程

开发平台:

Java

  1. /*
  2.    Copyright (C) 2002 MySQL AB
  3.       This program is free software; you can redistribute it and/or modify
  4.       it under the terms of the GNU General Public License as published by
  5.       the Free Software Foundation; either version 2 of the License, or
  6.       (at your option) any later version.
  7.       This program is distributed in the hope that it will be useful,
  8.       but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.       GNU General Public License for more details.
  11.       You should have received a copy of the GNU General Public License
  12.       along with this program; if not, write to the Free Software
  13.       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  14.  */
  15. package com.mysql.jdbc;
  16. import java.io.ByteArrayOutputStream;
  17. import java.io.IOException;
  18. /**
  19.  * A java.io.OutputStream used to write ASCII data into
  20.  * Blobs and Clobs
  21.  *
  22.  * @author Mark Matthews
  23.  */
  24. class WatchableOutputStream extends ByteArrayOutputStream {
  25.     private OutputStreamWatcher watcher;
  26.     /**
  27.      * DOCUMENT ME!
  28.      *
  29.      * @param watcher DOCUMENT ME!
  30.      */
  31.     public void setWatcher(OutputStreamWatcher watcher) {
  32.         this.watcher = watcher;
  33.     }
  34.     /**
  35.      * @see java.io.OutputStream#close()
  36.      */
  37.     public void close() throws IOException {
  38.         super.close();
  39.         if (this.watcher != null) {
  40.             this.watcher.streamClosed(toByteArray());
  41.         }
  42.     }
  43. }