package org.webpieces.httpfrontend2.api.mock2;
import java.util.List;
import javax.net.ssl.SSLEngine;
import org.webpieces.mock.MethodEnum;
import org.webpieces.mock.MockSuperclass;
import org.webpieces.mock.ParametersPassedIn;
import org.webpieces.nio.api.ChannelManager;
import org.webpieces.nio.api.SSLEngineFactory;
import org.webpieces.nio.api.channels.DatagramChannel;
import org.webpieces.nio.api.channels.TCPChannel;
import org.webpieces.nio.api.channels.TCPServerChannel;
import org.webpieces.nio.api.channels.UDPChannel;
import org.webpieces.nio.api.handlers.ConnectionListener;
import org.webpieces.nio.api.handlers.DatagramListener;
public class MockChanMgr extends MockSuperclass implements ChannelManager {
private enum Method implements MethodEnum {
CREATE_TCP_SVR_CHANNEL
}
public void addTCPSvrChannelToReturn(TCPServerChannel toReturn) {
super.addValueToReturn(Method.CREATE_TCP_SVR_CHANNEL, toReturn);
}
public ConnectionListener getSingleConnectionListener() {
List<ParametersPassedIn> list = super.getCalledMethodList(Method.CREATE_TCP_SVR_CHANNEL);
if(list.size() != 1)
throw new IllegalStateException("expected exactly one listener but there were="+list.size());
return (ConnectionListener) list.get(0).getArgs()[1];
}
@Override
public TCPServerChannel createTCPServerChannel(String id, ConnectionListener connectionListener) {
return (TCPServerChannel) super.calledMethod(Method.CREATE_TCP_SVR_CHANNEL, id, connectionListener);
}
@Override
public TCPServerChannel createTCPServerChannel(String id, ConnectionListener connectionListener,
SSLEngineFactory factory) {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
@Override
public TCPChannel createTCPChannel(String id) {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
@Override
public TCPChannel createTCPChannel(String id, SSLEngine engine) {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
@Override
public UDPChannel createUDPChannel(String id) {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
@Override
public DatagramChannel createDatagramChannel(String id, int bufferSize, DatagramListener listener) {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
@Override
public void stop() {
throw new UnsupportedOperationException("not implemented but could easily be with a one liner");
}
}