www.pudn.com > jnp-src.rar > MultiIOException.java


/*
 * Java Network Programming, Second Edition
 * Merlin Hughes, Michael Shoffner, Derek Hamner
 * Manning Publications Company; ISBN 188477749X
 *
 * http://nitric.com/jnp/
 *
 * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
 * all rights reserved; see license.txt for details.
 */

import java.io.*; 
import java.util.*; 
 
public class MultiIOException extends IOException { 
  public MultiIOException () { 
  } 
 
  public MultiIOException (String detail) { 
    super (detail); 
  } 
 
  protected Vector exceptions = new Vector (); 
  public void addException (IOException ex) { 
    exceptions.addElement (ex); 
  } 
 
  protected int index = 0; 
  public boolean hasMoreExceptions () { 
    return index < exceptions.size (); 
  } 
 
  public synchronized IOException getNextException () 
    throws NoSuchElementException { 
    if (index >= exceptions.size ()) 
      throw new NoSuchElementException ("No more exceptions"); 
    return (IOException) exceptions.elementAt (index ++); 
  } 
 
  public String toString () { 
    StringBuffer result = new StringBuffer (super.toString ()); 
    result.append (" {"); 
    for (int i = 0; i < exceptions.size (); ++ i) { 
      if (i > 0) 
        result.append (", "); 
      result.append (exceptions.elementAt (i)); 
    } 
    result.append ("}"); 
    return result.toString (); 
  } 
}