01: /*
02: * <copyright>
03: *
04: * Copyright 1997-2004 BBNT Solutions, LLC
05: * under sponsorship of the Defense Advanced Research Projects
06: * Agency (DARPA).
07: *
08: * You can redistribute this software and/or modify it under the
09: * terms of the Cougaar Open Source License as published on the
10: * Cougaar Open Source Website (www.cougaar.org).
11: *
12: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
15: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
16: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: *
24: * </copyright>
25: */
26: package org.cougaar.glm.execution.common;
27:
28: import java.io.IOException;
29:
30: import org.cougaar.core.util.UID;
31:
32: /**
33: * Due to assumptions made in the PSP support classes, direct access
34: * to the stream into a PSP is inaccessible. The only accessible
35: * information is the array of lines read from the stream. So this
36: * becomes the lowest common denominator for the form of information
37: * passed back and forth between clusters and the EventGenerator.
38: **/
39: public interface LineReader {
40: /**
41: * Recover resources, close underlying streams, etc.
42: **/
43: void close() throws IOException;
44:
45: /**
46: * Read a String. The name reflects that name of a similar function
47: * in DataInputStream, but there is not necessarily any actual UTF
48: * encoding involved. The String must not contain anything that
49: * could be confused with and end-of-line.
50: **/
51: String readUTF() throws IOException;
52:
53: UID readUID() throws IOException;
54:
55: /**
56: * Read a boolean. true is spelled "true".
57: **/
58: boolean readBoolean() throws IOException;
59:
60: /**
61: * Read an integer as a byte
62: **/
63: byte readByte() throws IOException;
64:
65: /**
66: * Read an integer as a short
67: **/
68: short readShort() throws IOException;
69:
70: /**
71: * Read an integer
72: **/
73: int readInt() throws IOException;
74:
75: /**
76: * Read a long
77: **/
78: long readLong() throws IOException;
79:
80: /**
81: * Read a double.
82: **/
83: double readDouble() throws IOException;
84:
85: /**
86: * Read a float.
87: **/
88: float readFloat() throws IOException;
89:
90: /**
91: * Read an object.
92: **/
93: Object readObject() throws IOException;
94:
95: /**
96: * Read an EGObject.
97: **/
98: EGObject readEGObject() throws IOException;
99: }
|