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
(Generate patch)

Comparing projects/cms/source/conient/uk/org/iscream/cms/conient/DataReader.java (file contents):
Revision 1.6 by ajm, Mon Jan 22 03:03:39 2001 UTC vs.
Revision 1.7 by ajm, Wed Jan 24 03:09:45 2001 UTC

# Line 1 | Line 1
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 < * Reads in bound data and presents it as it comes
10 < * in for anything that wants it.
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$
14   * @version $Id$
# Line 24 | Line 26 | public class DataReader extends Thread {
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;
# Line 31 | Line 40 | public class DataReader extends Thread {
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 <        
53 >            String line;
54 >            
55 >            // continue until we are told to stop
56              while (_running) {
57 <                _dataQueue.add(_inBound.readLine());
57 >                line = _inBound.readLine();
58 >                _dataQueue.add(line);
59              }
60          
61 <            //tidy up some stuff here at some point
61 >            // close the BufferedReader
62              _inBound.close();
63          
64          } catch (IOException e) {
65 <                SwingClient.addMessage("Data Channel Shutdown: reason - "+e);
66 <                _running = false;
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  
54    public void setRunning(boolean running) {
55        _running = running;
56    }
57
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 <    boolean _running = true;    
93 >    
94 >    /**
95 >     * The state of this thread.
96 >     */
97 >    boolean _running = true;
98 >    
99   //---STATIC ATTRIBUTES---
100  
101   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines