Building robots to access remote servers and execute complex operations is often difficult task. Depending on the responses of the servers, the robot may need to respond differently to execute the intended operations.
This class provides a solution that simplifies the construction of software robots. It uses finite state machines to help the robot know where it is on each operation step and what it should do next depending on the server response.
This class can be used to implement an automated dialog robot using finite state machines.
The class can be configured to define input text strings under each state, response strings and the new states to assume when the specified input texts appear.
It can act as an automated chat robot that can be hooked to a remote console via telnet or other networking protocol.
Other possible applications: text file parser, command line interpreter etc.