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