diff options
-rw-r--r-- | java/com/xagasoft/gats/GatsObject.java | 1 | ||||
-rw-r--r-- | java/com/xagasoft/gats/GatsOutputStream.java | 27 |
2 files changed, 27 insertions, 1 deletions
diff --git a/java/com/xagasoft/gats/GatsObject.java b/java/com/xagasoft/gats/GatsObject.java index 852a18c..031dc90 100644 --- a/java/com/xagasoft/gats/GatsObject.java +++ b/java/com/xagasoft/gats/GatsObject.java | |||
@@ -15,6 +15,7 @@ public abstract class GatsObject | |||
15 | public abstract int getType(); | 15 | public abstract int getType(); |
16 | 16 | ||
17 | public abstract void read( InputStream is, char cType ) throws java.io.IOException; | 17 | public abstract void read( InputStream is, char cType ) throws java.io.IOException; |
18 | public abstract void write( OutputStream os ) throws java.io.IOException; | ||
18 | 19 | ||
19 | public static GatsObject read( InputStream is ) throws java.io.IOException | 20 | public static GatsObject read( InputStream is ) throws java.io.IOException |
20 | { | 21 | { |
diff --git a/java/com/xagasoft/gats/GatsOutputStream.java b/java/com/xagasoft/gats/GatsOutputStream.java index 0ba452d..7bdfcde 100644 --- a/java/com/xagasoft/gats/GatsOutputStream.java +++ b/java/com/xagasoft/gats/GatsOutputStream.java | |||
@@ -1,9 +1,34 @@ | |||
1 | package com.xagasoft.gats; | 1 | package com.xagasoft.gats; |
2 | 2 | ||
3 | import java.io.InputStream; | ||
4 | import java.io.OutputStream; | 3 | import java.io.OutputStream; |
4 | import java.io.ByteArrayOutputStream; | ||
5 | import java.io.DataOutputStream; | ||
5 | 6 | ||
6 | public class GatsOutputStream | 7 | public class GatsOutputStream |
7 | { | 8 | { |
9 | private OutputStream os; | ||
10 | |||
11 | public GatsOutputStream( OutputStream os ) | ||
12 | { | ||
13 | this.os = os; | ||
14 | } | ||
15 | |||
16 | public void writeObject( GatsObject obj ) throws java.io.IOException | ||
17 | { | ||
18 | ByteArrayOutputStream bos1 = new ByteArrayOutputStream(); | ||
19 | |||
20 | obj.write( bos1 ); | ||
21 | |||
22 | ByteArrayOutputStream bos2 = new ByteArrayOutputStream( | ||
23 | 5 + bos1.size() | ||
24 | ); | ||
25 | |||
26 | DataOutputStream dos = new DataOutputStream( bos2 ); | ||
27 | dos.writeByte( 1 ); | ||
28 | dos.writeInt( bos1.size()+5 ); | ||
29 | bos2.write( bos1.toByteArray() ); | ||
30 | |||
31 | os.write( bos2.toByteArray() ); | ||
32 | } | ||
8 | }; | 33 | }; |
9 | 34 | ||