ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/uk/org/iscream/cms/conient/DataReader.java
Revision: 1.7
Committed: Wed Jan 24 03:09:45 2001 UTC (23 years, 3 months ago) by ajm
Branch: MAIN
Changes since 1.6: +50 -14 lines
Log Message:
all packaged up
all javadoc'd
still not handling stuff (sockets) right just yet....
but its all in a fit state to be PROPER and continue working and expanding on

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.ac.ukc.iscream.conient;
3
4 //---IMPORTS---
5 import java.io.*;
6 import uk.ac.ukc.iscream.util.*;
7
8 /**
9 * The class reads in data from a BufferedReader,
10 * it then converts it to an XMLPacket and adds
11 * it to its Queue for anything that wants it.
12 *
13 * @author $Author: ajm4 $
14 * @version $Id: DataReader.java,v 1.6 2001/01/22 03:03:39 ajm4 Exp $
15 */
16 public class DataReader extends Thread {
17
18 //---FINAL ATTRIBUTES---
19
20 /**
21 * The current CVS revision of this class
22 */
23 public final String REVISION = "$Revision: 1.6 $";
24
25 //---STATIC METHODS---
26
27 //---CONSTRUCTORS---
28
29 /**
30 * Constructs a new data reader, giving it its BufferedReader
31 * and Queue.
32 *
33 * @param inBound the BufferedReader this class should use
34 * @param dataQueue the queue new data should be placed on
35 */
36 public DataReader(BufferedReader inBound, Queue dataQueue) {
37 _inBound = inBound;
38 _dataQueue = dataQueue;
39 }
40
41 //---PUBLIC METHODS---
42
43 /**
44 * This thread reads data from the BufferedReader.
45 * It does this until either there is a problem
46 * or it is told to stop.
47 *
48 * Any data it reads it converts to XML and then
49 * adds to its queue.
50 */
51 public void run() {
52 try {
53 String line;
54
55 // continue until we are told to stop
56 while (_running) {
57 line = _inBound.readLine();
58 _dataQueue.add(line);
59 }
60
61 // close the BufferedReader
62 _inBound.close();
63
64 } catch (IOException e) {
65 SwingClient.addMessage("Data Channel Shutdown: reason - "+e);
66 _running = false;
67 }
68 }
69
70 /**
71 * This method allows other classes
72 * to shutdown this data reader.
73 */
74 public void shutdown() {
75 _running = false;
76 }
77
78 //---PRIVATE METHODS---
79
80 //---ACCESSOR/MUTATOR METHODS---
81
82 //---ATTRIBUTES---
83
84 /**
85 * The reader we are reading from.
86 */
87 BufferedReader _inBound;
88
89 /**
90 * The Queue we place data on.
91 */
92 Queue _dataQueue;
93
94 /**
95 * The state of this thread.
96 */
97 boolean _running = true;
98
99 //---STATIC ATTRIBUTES---
100
101 }