View Javadoc
1 /* ------------------------------------------------------------------- 2 * Java source file for the class MulticastByteArrayOutputStream 3 * 4 * Copyright (c), 2002, Masahiro Takatsuka. 5 * All Rights Researved. 6 * 7 * Original Author: Masahiro Takatsuka (masa@jbeans.net) 8 * $Author: takatsukam $ 9 * 10 * $Date: 2003/07/25 04:51:46 $ 11 * 12 * $Id: MulticastByteArrayOutputStream.java,v 1.1.1.1 2003/07/25 04:51:46 takatsukam Exp $ 13 * 14 * Reference: Document no: 15 * ___ ___ 16 * 17 * To Do: 18 * ___ 19 * 20 ------------------------------------------------------------------- */ 21 22 /* --------------------------- Package ---------------------------- */ 23 package net.jbeans.io; 24 25 /* ------------------ Import classes (packages) ------------------- *//package-summary/html">color="#329900"> ------------------ Import classes (packages) ------------------- *//package-summary.html">color="#329900">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">color="#329900"> ------------------ Import classes (packages) ------------------- */ 26 import java.io.*; 27 import java.util.*; 28 29 /*==================================================================== 30 Implementation of class MulticastByteArrayOutputStream 31 ====================================================================*/ 32 /*** 33 * MulticastByteArrayOutputStream can be used to notify whoever wants to 34 * listen any byte stream. This can use used to create a Java Console 35 * to capture standard out/err. 36 * 37 * @version $Revision: 1.1.1.1 $ 38 * @author Masahiro Takatsuka (masa@jbeans.net) 39 * @see ByteArrayOutputStream 40 */ 41 42 public final class MulticastByteArrayOutputStream extends ByteArrayOutputStream { 43 private Vector streamListeners = new Vector(); 44 45 public final void addStreamListener(StreamListener o) { 46 this.streamListeners.addElement(o); 47 } 48 49 public final void removeStreamListener(StreamListener o) { 50 this.streamListeners.removeElement(o); 51 } 52 53 private void fire() { 54 int count = this.streamListeners.size(); 55 for (int i = 0; i < count; i++) { 56 ((StreamListener) this.streamListeners.elementAt(i)).streamChanged(); 57 } 58 } 59 60 public final void write(byte[] b, int off, int len) { 61 super.write(b, off, len); 62 fire(); 63 } 64 }

This page was automatically generated by Maven