Highlighted classes:
NewsModel
The NewsModel class acts as the "model" in the MVC approach
to GUI applications. It is constructed with a NewsPortal
object. The state of the program is stored here, in the form of
private variables. The selected group, list of headers, and article
are stored. Searching is implemented. Whenever a task is complete,
an event is fired which lets the GUI know. If the GUI has to
communicate with the Portal, it is done through the model. When the
GUI makes a request, therefore, the model makes the same request to
the GUI while setting its private variables. It listens to the Portal
through the NewsPortalListener interface, which tells it when
a request has been completed.
CompletionHandlers
This class does the same thing for the model that EventHandlers does for the GUI.
TimeManager
This class is responsible for terminating the connection to the host
after the user has not made any requests for five minutes. It is
constructed in the constructor for the model, given the model as a
parameter, and starts the Timer thread immediately.