diff options
Diffstat (limited to 'java/com/xagasoft/gats/GatsObject.java')
-rw-r--r-- | java/com/xagasoft/gats/GatsObject.java | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/java/com/xagasoft/gats/GatsObject.java b/java/com/xagasoft/gats/GatsObject.java index 8c398e8..fc3fb5a 100644 --- a/java/com/xagasoft/gats/GatsObject.java +++ b/java/com/xagasoft/gats/GatsObject.java | |||
@@ -3,6 +3,13 @@ package com.xagasoft.gats; | |||
3 | import java.io.InputStream; | 3 | import java.io.InputStream; |
4 | import java.io.OutputStream; | 4 | import java.io.OutputStream; |
5 | 5 | ||
6 | /** | ||
7 | * The abstract base class of all Gats storage classes. You probably don't | ||
8 | * need to worry about these functions at all, maybe getType. The IO functions | ||
9 | * in this class shouldn't really be used since they won't contain the proper | ||
10 | * packet header info. See com.xagasoft.gats.GatsOutputStream and | ||
11 | * com.xagasoft.gats.GatsInputStream for that. | ||
12 | */ | ||
6 | public abstract class GatsObject | 13 | public abstract class GatsObject |
7 | { | 14 | { |
8 | public final static int INTEGER = 1; | 15 | public final static int INTEGER = 1; |
@@ -12,12 +19,29 @@ public abstract class GatsObject | |||
12 | public final static int DICTIONARY = 5; | 19 | public final static int DICTIONARY = 5; |
13 | public final static int BOOLEAN = 6; | 20 | public final static int BOOLEAN = 6; |
14 | 21 | ||
22 | /** | ||
23 | * Gets the type of the current object, type can be one of INTEGER, FLOAT, | ||
24 | * STRING, LIST, DICTIONARY, or BOOLEAN. | ||
25 | */ | ||
15 | public abstract int getType(); | 26 | public abstract int getType(); |
16 | 27 | ||
17 | public abstract void read( InputStream is, char cType ) throws java.io.IOException; | 28 | /** |
18 | public abstract void write( OutputStream os ) throws java.io.IOException; | 29 | * Read an object from the given input stream, with a particular type, this |
30 | * function is used internally. | ||
31 | */ | ||
32 | abstract void read( InputStream is, char cType ) throws java.io.IOException; | ||
19 | 33 | ||
20 | public static GatsObject read( InputStream is ) throws java.io.IOException | 34 | /** |
35 | * Write the current object to the output stream. | ||
36 | */ | ||
37 | abstract void write( OutputStream os ) throws java.io.IOException; | ||
38 | |||
39 | /** | ||
40 | * Static function that returns a new object deserialized from an input | ||
41 | * stream. This still doesn't take advantage of packet data, so you | ||
42 | * probably shouldn't use this yourself. | ||
43 | */ | ||
44 | static GatsObject read( InputStream is ) throws java.io.IOException | ||
21 | { | 45 | { |
22 | char type = (char)is.read(); | 46 | char type = (char)is.read(); |
23 | GatsObject goRet = null; | 47 | GatsObject goRet = null; |