public abstract class AbstractDeviceController<I extends Command,O extends Command> extends java.lang.Object implements CommandParserListener
| Constructor and Description |
|---|
AbstractDeviceController(long commandTimeout,
org.apache.log4j.Logger logger) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkAndConnect() |
void |
connect() |
protected abstract boolean |
connectImpl() |
void |
disconnect() |
protected abstract void |
disconnectImpl() |
java.util.List<ReplyMonitor<O,I>> |
getActiveCommands() |
protected CommandParser<I> |
getCommandParser() |
long |
getCommandTimeout() |
org.apache.log4j.Logger |
getLogger() |
CommandProcessorStatistics |
getStatistics() |
boolean |
isActive() |
boolean |
isConnected() |
boolean |
isLoggedIn() |
void |
login() |
protected abstract boolean |
loginImpl() |
void |
newDataReceived() |
protected void |
processAsyncCommand(I cmd) |
protected void |
resetCommandTimeouts() |
protected abstract void |
send(O cmd) |
I |
sendCommand(O cmd) |
protected void |
setCommandParser(CommandParser commandParser) |
void |
setCommandTimeout(long commandTimeout) |
protected void |
setConnected(boolean connected) |
void |
setLoggedIn(boolean loggedIn) |
void |
setResetTimeoutsOnData(boolean resetTimeoutWhenDataReceived) |
protected void |
startCommandProcessor() |
public AbstractDeviceController(long commandTimeout,
org.apache.log4j.Logger logger)
protected abstract boolean connectImpl()
throws DisconnectionException,
java.io.IOException,
java.lang.InterruptedException,
RemoteDeviceErrorException,
ContextException
DisconnectionExceptionjava.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionContextExceptionprotected abstract boolean loginImpl()
throws ContextException
ContextExceptionprotected abstract void disconnectImpl()
throws java.io.IOException,
java.lang.InterruptedException,
RemoteDeviceErrorException
java.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionprotected abstract void send(O cmd) throws DisconnectionException, java.io.IOException, java.lang.InterruptedException
DisconnectionExceptionjava.io.IOExceptionjava.lang.InterruptedExceptionpublic void connect()
throws DisconnectionException,
java.io.IOException,
java.lang.InterruptedException,
RemoteDeviceErrorException,
ContextException
DisconnectionExceptionjava.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionContextExceptionprotected void checkAndConnect()
throws DisconnectionException,
java.io.IOException,
java.lang.InterruptedException,
RemoteDeviceErrorException,
ContextException
DisconnectionExceptionjava.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionContextExceptionpublic void login()
throws ContextException
ContextExceptionpublic void disconnect()
throws java.io.IOException,
java.lang.InterruptedException,
RemoteDeviceErrorException
java.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionpublic I sendCommand(O cmd) throws DisconnectionException, java.io.IOException, java.lang.InterruptedException, RemoteDeviceErrorException, ContextException
DisconnectionExceptionjava.io.IOExceptionjava.lang.InterruptedExceptionRemoteDeviceErrorExceptionContextExceptionpublic boolean isActive()
protected void processAsyncCommand(I cmd)
public void newDataReceived()
newDataReceived in interface CommandParserListenerprotected void resetCommandTimeouts()
protected void startCommandProcessor()
protected void setCommandParser(CommandParser commandParser)
public boolean isConnected()
protected void setConnected(boolean connected)
public boolean isLoggedIn()
public void setLoggedIn(boolean loggedIn)
protected CommandParser<I> getCommandParser()
public void setResetTimeoutsOnData(boolean resetTimeoutWhenDataReceived)
public java.util.List<ReplyMonitor<O,I>> getActiveCommands()
public long getCommandTimeout()
public void setCommandTimeout(long commandTimeout)
public org.apache.log4j.Logger getLogger()
public CommandProcessorStatistics getStatistics()