1 /********************************************************************** 2 * IncompleteIOException.java 3 * created on 07.03.2005 by netseeker 4 * $Source: /cvsroot/ejoe/EJOE/src/de/netseeker/ejoe/io/IncompleteIOException.java,v $ 5 * $Date: 2006/02/04 14:15:52 $ 6 * $Revision: 1.6 $ 7 *********************************************************************/ 8 package de.netseeker.ejoe.io; 9 10 import java.io.IOException; 11 import java.nio.ByteBuffer; 12 13 /*** 14 * A special exception type which will be thrown when a incomplete non-blocking 15 * IO read or write operation occurs. 16 * 17 * @author netseeker 18 */ 19 public class IncompleteIOException extends IOException 20 { 21 private static final long serialVersionUID = 3761973765386679092L; 22 23 private transient ByteBuffer _buf; 24 25 private int _selectionInterest; 26 27 /*** 28 * Creates a new IncompleteIOException and stores the given ByteBuffer for 29 * possible reuse 30 * 31 * @param buf 32 * the ByteBuffer containing the partial read/not yet written 33 * data 34 */ 35 public IncompleteIOException(ByteBuffer buf) 36 { 37 this._buf = buf; 38 } 39 40 /*** 41 * Creates a new IncompleteIOException and stores the given ByteBuffer for 42 * possible reuse. Additionally it stores the type of the operation which 43 * has thrown this Exception. 44 * 45 * @param buf 46 * the ByteBuffer containing the partial read/not yet written 47 * data 48 * @param selectionInterest 49 * type of the io operation which has caused the exception, can 50 * be either SelectionKey.OP_READ or SelectionKey.OP_WRITE 51 * @see java.nio.channels.SelectionKey 52 */ 53 public IncompleteIOException(ByteBuffer buf, int selectionInterest) 54 { 55 this._buf = buf; 56 this._selectionInterest = selectionInterest; 57 } 58 59 /*** 60 * Returns the contained ByteBuffer. 61 * 62 * @return 63 */ 64 public ByteBuffer getIOBuffer() 65 { 66 return this._buf; 67 } 68 69 /*** 70 * @param buf 71 * The ByteBuffer to set. 72 */ 73 public void setIOBuffer(ByteBuffer buf) 74 { 75 this._buf = buf; 76 } 77 78 public int getSelectionInterest() 79 { 80 return this._selectionInterest; 81 } 82 83 public void setSelectionInterest(int interest) 84 { 85 this._selectionInterest = interest; 86 } 87 }