Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This file contains material supporting section 3.7 of the textbook:
- // "Object Oriented Software Engineering" and is issued under the open-source
- // license found at www.lloseng.com
- package client;
- import ocsf.client.*;
- import common.*;
- import java.io.*;
- /**
- * This class overrides some of the methods defined in the abstract
- * superclass in order to give more functionality to the client.
- *
- * @author Dr Timothy C. Lethbridge
- * @author Dr Robert Laganiè
- * @author François Bélanger
- * @version July 2000
- */
- public class ChatClient extends AbstractClient
- {
- //Instance variables **********************************************
- /**
- * The interface type variable. It allows the implementation of
- * the display method in the client.
- */
- ChatIF clientUI;
- //Constructors ****************************************************
- /**
- * Constructs an instance of the chat client.
- *
- * @param host The server to connect to.
- * @param port The port number to connect on.
- * @param clientUI The interface type variable.
- */
- public ChatClient(String host, int port, ChatIF clientUI)
- throws IOException
- {
- super(host, port); //Call the superclass constructor
- this.clientUI = clientUI;
- openConnection();
- }
- //Instance methods ************************************************
- /**
- * This method handles all data that comes in from the server.
- *
- * @param msg The message from the server.
- */
- public void handleMessageFromServer(Object msg)
- {
- clientUI.display(msg.toString());
- }
- /**
- * This method handles all data coming from the UI
- *
- * @param message The message from the UI.
- */
- public void handleMessageFromClientUI(String message)
- {
- try
- {
- sendToServer(message);
- }
- catch(IOException e)
- {
- clientUI.display
- ("Could not send message to server. Terminating client.");
- quit();
- }
- }
- //*** Change for E49 O.A.
- //* Message to be outputted once connection is closed
- public void connectionClosed() {
- clientUI.display
- ("Server shutdown. Terminating client.");
- }
- //*** Change for E49 O.A.
- //* Exception that needs to be catched when the server shutsdown
- public void connectionException(Exception exception) {
- if(exception instanceof IOException) {
- quit();
- }
- }
- /**
- * This method terminates the client.
- */
- public void quit()
- {
- try
- {
- closeConnection();
- }
- catch(IOException e) {}
- System.exit(0);
- }
- }
- //End of ChatClient class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement