1 20 package org.apache.mina.common.support; 21 22 import org.apache.mina.common.ConnectFuture; 23 import org.apache.mina.common.IoSession; 24 import org.apache.mina.common.RuntimeIOException; 25 26 32 public class DefaultConnectFuture extends DefaultIoFuture implements 33 ConnectFuture { 34 37 public static ConnectFuture newFailedFuture(Throwable exception) { 38 DefaultConnectFuture failedFuture = new DefaultConnectFuture(); 39 failedFuture.setException(exception); 40 return failedFuture; 41 } 42 43 46 public DefaultConnectFuture() { 47 super(null); 48 } 49 50 @Override 51 public IoSession getSession() throws RuntimeIOException { 52 Object v = getValue(); 53 if (v instanceof RuntimeIOException) { 54 throw (RuntimeIOException) v; 55 } else if (v instanceof Throwable ) { 56 throw (RuntimeIOException) new RuntimeIOException( 57 "Failed to get the session.").initCause((Throwable ) v); 58 } else { 59 return (IoSession) v; 60 } 61 } 62 63 public boolean isConnected() { 64 return getValue() instanceof IoSession; 65 } 66 67 public void setSession(IoSession session) { 68 setValue(session); 69 } 70 71 public void setException(Throwable exception) { 72 setValue(exception); 73 } 74 } 75 | Popular Tags |