aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/xagasoft/gats/Boolean.java10
-rw-r--r--java/com/xagasoft/gats/Dictionary.java10
-rw-r--r--java/com/xagasoft/gats/Float.java10
-rw-r--r--java/com/xagasoft/gats/GatsBoolean.java17
-rw-r--r--java/com/xagasoft/gats/GatsDictionary.java17
-rw-r--r--java/com/xagasoft/gats/GatsFloat.java17
-rw-r--r--java/com/xagasoft/gats/GatsInputStream.java22
-rw-r--r--java/com/xagasoft/gats/GatsInteger.java (renamed from java/com/xagasoft/gats/Integer.java)43
-rw-r--r--java/com/xagasoft/gats/GatsList.java17
-rw-r--r--java/com/xagasoft/gats/GatsObject.java23
-rw-r--r--java/com/xagasoft/gats/GatsOutputStream.java4
-rw-r--r--java/com/xagasoft/gats/GatsString.java17
-rw-r--r--java/com/xagasoft/gats/List.java10
-rw-r--r--java/com/xagasoft/gats/String.java10
14 files changed, 148 insertions, 79 deletions
diff --git a/java/com/xagasoft/gats/Boolean.java b/java/com/xagasoft/gats/Boolean.java
deleted file mode 100644
index 692247a..0000000
--- a/java/com/xagasoft/gats/Boolean.java
+++ /dev/null
@@ -1,10 +0,0 @@
1package com.xagasoft.gats;
2
3public class Boolean extends GatsObject
4{
5 public int getGatsObject()
6 {
7 return GatsObject.BOOLEAN;
8 }
9};
10
diff --git a/java/com/xagasoft/gats/Dictionary.java b/java/com/xagasoft/gats/Dictionary.java
deleted file mode 100644
index d96ff76..0000000
--- a/java/com/xagasoft/gats/Dictionary.java
+++ /dev/null
@@ -1,10 +0,0 @@
1package com.xagasoft.gats;
2
3public class Dictionary extends GatsObject
4{
5 public int getGatsObject()
6 {
7 return GatsObject.DICTIONARY;
8 }
9};
10
diff --git a/java/com/xagasoft/gats/Float.java b/java/com/xagasoft/gats/Float.java
deleted file mode 100644
index d0a9604..0000000
--- a/java/com/xagasoft/gats/Float.java
+++ /dev/null
@@ -1,10 +0,0 @@
1package com.xagasoft.gats;
2
3public class Float extends GatsObject
4{
5 public int getGatsObject()
6 {
7 return GatsObject.FLOAT;
8 }
9};
10
diff --git a/java/com/xagasoft/gats/GatsBoolean.java b/java/com/xagasoft/gats/GatsBoolean.java
new file mode 100644
index 0000000..8fec64a
--- /dev/null
+++ b/java/com/xagasoft/gats/GatsBoolean.java
@@ -0,0 +1,17 @@
1package com.xagasoft.gats;
2
3import java.io.InputStream;
4import java.io.OutputStream;
5
6public class GatsBoolean extends GatsObject
7{
8 public int getType()
9 {
10 return GatsObject.BOOLEAN;
11 }
12
13 public void read( InputStream is, char cType )
14 {
15 }
16};
17
diff --git a/java/com/xagasoft/gats/GatsDictionary.java b/java/com/xagasoft/gats/GatsDictionary.java
new file mode 100644
index 0000000..1cf126e
--- /dev/null
+++ b/java/com/xagasoft/gats/GatsDictionary.java
@@ -0,0 +1,17 @@
1package com.xagasoft.gats;
2
3import java.io.InputStream;
4import java.io.OutputStream;
5
6public class GatsDictionary extends GatsObject
7{
8 public int getType()
9 {
10 return GatsObject.DICTIONARY;
11 }
12
13 public void read( InputStream is, char cType )
14 {
15 }
16};
17
diff --git a/java/com/xagasoft/gats/GatsFloat.java b/java/com/xagasoft/gats/GatsFloat.java
new file mode 100644
index 0000000..b98c73a
--- /dev/null
+++ b/java/com/xagasoft/gats/GatsFloat.java
@@ -0,0 +1,17 @@
1package com.xagasoft.gats;
2
3import java.io.InputStream;
4import java.io.OutputStream;
5
6public class GatsFloat extends GatsObject
7{
8 public int getType()
9 {
10 return GatsObject.FLOAT;
11 }
12
13 public void read( InputStream is, char cType )
14 {
15 }
16};
17
diff --git a/java/com/xagasoft/gats/GatsInputStream.java b/java/com/xagasoft/gats/GatsInputStream.java
index e787d56..e1c4781 100644
--- a/java/com/xagasoft/gats/GatsInputStream.java
+++ b/java/com/xagasoft/gats/GatsInputStream.java
@@ -2,6 +2,7 @@ package com.xagasoft.gats;
2 2
3import java.io.InputStream; 3import java.io.InputStream;
4import java.io.ByteArrayOutputStream; 4import java.io.ByteArrayOutputStream;
5import java.io.ByteArrayInputStream;
5import java.io.DataInputStream; 6import java.io.DataInputStream;
6 7
7public class GatsInputStream 8public class GatsInputStream
@@ -16,7 +17,7 @@ public class GatsInputStream
16 this.is = is; 17 this.is = is;
17 } 18 }
18 19
19 public GatsObject readObject() 20 public GatsObject readObject() throws java.io.IOException
20 { 21 {
21 do 22 do
22 { 23 {
@@ -24,7 +25,7 @@ public class GatsInputStream
24 { 25 {
25 byte aBuf[] = new byte[5-baos.size()]; 26 byte aBuf[] = new byte[5-baos.size()];
26 int iRead = is.read( aBuf ); 27 int iRead = is.read( aBuf );
27 baos.write( ret, iRead ); 28 baos.write( aBuf, 0, iRead );
28 29
29 if( baos.size() < 5 ) 30 if( baos.size() < 5 )
30 return null; 31 return null;
@@ -36,7 +37,7 @@ public class GatsInputStream
36 ByteArrayInputStream bais = new ByteArrayInputStream( 37 ByteArrayInputStream bais = new ByteArrayInputStream(
37 baos.toByteArray() 38 baos.toByteArray()
38 ); 39 );
39 DataInputStream dis( bais ); 40 DataInputStream dis = new DataInputStream( bais );
40 iVer = dis.readUnsignedByte(); 41 iVer = dis.readUnsignedByte();
41 iSize = dis.readInt(); 42 iSize = dis.readInt();
42 } 43 }
@@ -49,7 +50,7 @@ public class GatsInputStream
49 iGoal = 1500; 50 iGoal = 1500;
50 51
51 int iRead = is.read( aBuf ); 52 int iRead = is.read( aBuf );
52 baos.write( abuf, 0, iRead ); 53 baos.write( aBuf, 0, iRead );
53 54
54 if( iRead < iGoal ) 55 if( iRead < iGoal )
55 return null; 56 return null;
@@ -63,14 +64,13 @@ public class GatsInputStream
63 ); 64 );
64 bais.skip( 5 ); 65 bais.skip( 5 );
65 66
66 GatsObject goRet = GatsObject::read( bais ); 67 GatsObject goRet = GatsObject.read( bais );
67 iVer = 0; 68 iVer = 0;
68 69
69 return goRet; 70 return goRet;
70 } 71 }
71 72
72 73 private boolean skipReadNulls()
73 private bool skipReadNulls()
74 { 74 {
75 if( baos.size() == 0 ) 75 if( baos.size() == 0 )
76 return false; 76 return false;
@@ -79,17 +79,17 @@ public class GatsInputStream
79 if( aBuf[0] != 0 ) 79 if( aBuf[0] != 0 )
80 return true; 80 return true;
81 81
82 for( int j = 1; j < aBuf.size; j++ ) 82 for( int j = 1; j < aBuf.length; j++ )
83 { 83 {
84 if( aBuf[j] != 0 ) 84 if( aBuf[j] != 0 )
85 { 85 {
86 baos.clear(); 86 baos.reset();
87 baos.write( aBuf, j, aBuf.size-j ); 87 baos.write( aBuf, j, aBuf.length-j );
88 return true; 88 return true;
89 } 89 }
90 } 90 }
91 91
92 baos.clear(); 92 baos.reset();
93 return true; 93 return true;
94 } 94 }
95}; 95};
diff --git a/java/com/xagasoft/gats/Integer.java b/java/com/xagasoft/gats/GatsInteger.java
index ab3d6de..1093ab2 100644
--- a/java/com/xagasoft/gats/Integer.java
+++ b/java/com/xagasoft/gats/GatsInteger.java
@@ -3,19 +3,51 @@ package com.xagasoft.gats;
3import java.io.OutputStream; 3import java.io.OutputStream;
4import java.io.InputStream; 4import java.io.InputStream;
5 5
6public class Integer extends GatsObject 6public class GatsInteger extends GatsObject
7{ 7{
8 public int getGatsObject() 8 private long iValue = 0;
9
10 public GatsInteger()
11 {
12 }
13
14 public GatsInteger( long iValue )
15 {
16 this.iValue = iValue;
17 }
18
19 public long getValue()
20 {
21 return iValue;
22 }
23
24 public void setValue( long iValue )
25 {
26 this.iValue = iValue;
27 }
28
29 public int getType()
9 { 30 {
10 return GatsObject.INTEGER; 31 return GatsObject.INTEGER;
11 }; 32 };
12 33
34 public void read( InputStream is, char cType ) throws java.io.IOException
35
36 {
37 iValue = readPackedInt( is );
38 }
39
40 public void write( OutputStream os ) throws java.io.IOException
41 {
42 os.write( (int)'i' );
43 writePackedInt( os, iValue );
44 }
45
13 /** 46 /**
14 * Possible TODO: have this return a Number, and construct either a Long 47 * Possible TODO: have this return a Number, and construct either a Long
15 * or BigInteger when appropriate. 48 * or BigInteger when appropriate.
16 */ 49 */
17 public static long readPackedInt( InputStream is ) 50 public static long readPackedInt( InputStream is ) throws java.io.IOException
18 throws java.io.IOException
19 { 51 {
20 int b; 52 int b;
21 long rOut = 0; 53 long rOut = 0;
@@ -35,8 +67,7 @@ public class Integer extends GatsObject
35 return rOut; 67 return rOut;
36 } 68 }
37 69
38 public static void writePackedInt( OutputStream os, long iIn ) 70 public static void writePackedInt( OutputStream os, long iIn ) throws java.io.IOException
39 throws java.io.IOException
40 { 71 {
41 int b; 72 int b;
42 73
diff --git a/java/com/xagasoft/gats/GatsList.java b/java/com/xagasoft/gats/GatsList.java
new file mode 100644
index 0000000..7c238be
--- /dev/null
+++ b/java/com/xagasoft/gats/GatsList.java
@@ -0,0 +1,17 @@
1package com.xagasoft.gats;
2
3import java.io.InputStream;
4import java.io.OutputStream;
5
6public class GatsList extends GatsObject
7{
8 public int getType()
9 {
10 return GatsObject.LIST;
11 }
12
13 public void read( InputStream is, char cType )
14 {
15 }
16};
17
diff --git a/java/com/xagasoft/gats/GatsObject.java b/java/com/xagasoft/gats/GatsObject.java
index 63fcf36..852a18c 100644
--- a/java/com/xagasoft/gats/GatsObject.java
+++ b/java/com/xagasoft/gats/GatsObject.java
@@ -1,6 +1,7 @@
1package com.xagasoft.gats; 1package com.xagasoft.gats;
2 2
3import java.io.InputStream; 3import java.io.InputStream;
4import java.io.OutputStream;
4 5
5public abstract class GatsObject 6public abstract class GatsObject
6{ 7{
@@ -13,45 +14,45 @@ public abstract class GatsObject
13 14
14 public abstract int getType(); 15 public abstract int getType();
15 16
16 public abstract void read( InputStream is, char cType ); 17 public abstract void read( InputStream is, char cType ) throws java.io.IOException;
17 18
18 public static GatsObject read( InputStream is ) 19 public static GatsObject read( InputStream is ) throws java.io.IOException
19 { 20 {
20 char type = is.read(); 21 char type = (char)is.read();
21 GatsObject goRet; 22 GatsObject goRet = null;
22 switch( type ) 23 switch( type )
23 { 24 {
24 case 'i': 25 case 'i':
25 goRet = new Integer(); 26 goRet = new GatsInteger();
26 break; 27 break;
27 28
28 case 's': 29 case 's':
29 goRet = new String(); 30 // goRet = new GatsString();
30 break; 31 break;
31 32
32 case '0': 33 case '0':
33 case '1': 34 case '1':
34 goRet = new Boolean(); 35 // goRet = new GatsBoolean();
35 break; 36 break;
36 37
37 case 'l': 38 case 'l':
38 goRet = new List(); 39 // goRet = new GatsList();
39 break; 40 break;
40 41
41 case 'd': 42 case 'd':
42 goRet = new Dictionary(); 43 // goRet = new GatsDictionary();
43 break; 44 break;
44 45
45 case 'f': 46 case 'f':
46 case 'F': 47 case 'F':
47 goRet = new Float(); 48 // goRet = new GatsFloat();
48 break; 49 break;
49 50
50 case 'e': 51 case 'e':
51 return null; 52 return null;
52 53
53 default: 54 default:
54 throw new Exception("Invalid gats type discovered: " + (char)type ); 55 throw new java.io.IOException("Invalid gats type discovered: " + (char)type );
55 } 56 }
56 57
57 goRet.read( is, type ); 58 goRet.read( is, type );
diff --git a/java/com/xagasoft/gats/GatsOutputStream.java b/java/com/xagasoft/gats/GatsOutputStream.java
index f3020f4..0ba452d 100644
--- a/java/com/xagasoft/gats/GatsOutputStream.java
+++ b/java/com/xagasoft/gats/GatsOutputStream.java
@@ -1,7 +1,9 @@
1package com.xagasoft.gats; 1package com.xagasoft.gats;
2 2
3import java.io.InputStream;
4import java.io.OutputStream;
5
3public class GatsOutputStream 6public class GatsOutputStream
4{ 7{
5 public GatsOutputStream(
6}; 8};
7 9
diff --git a/java/com/xagasoft/gats/GatsString.java b/java/com/xagasoft/gats/GatsString.java
new file mode 100644
index 0000000..07456b5
--- /dev/null
+++ b/java/com/xagasoft/gats/GatsString.java
@@ -0,0 +1,17 @@
1package com.xagasoft.gats;
2
3import java.io.InputStream;
4import java.io.OutputStream;
5
6public class GatsString extends GatsObject
7{
8 public int getType()
9 {
10 return GatsObject.STRING;
11 }
12
13 public void read( InputStream is, char cType )
14 {
15 }
16};
17
diff --git a/java/com/xagasoft/gats/List.java b/java/com/xagasoft/gats/List.java
deleted file mode 100644
index dbc729b..0000000
--- a/java/com/xagasoft/gats/List.java
+++ /dev/null
@@ -1,10 +0,0 @@
1package com.xagasoft.gats;
2
3public class List extends GatsObject
4{
5 public int getGatsObject()
6 {
7 return GatsObject.LIST;
8 }
9};
10
diff --git a/java/com/xagasoft/gats/String.java b/java/com/xagasoft/gats/String.java
deleted file mode 100644
index 301a98a..0000000
--- a/java/com/xagasoft/gats/String.java
+++ /dev/null
@@ -1,10 +0,0 @@
1package com.xagasoft.gats;
2
3public class String extends GatsObject
4{
5 public int getGatsObject()
6 {
7 return GatsObject.STRING;
8 }
9};
10