diff options
| -rw-r--r-- | java/com/xagasoft/gats/Boolean.java | 10 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/Dictionary.java | 10 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/Float.java | 10 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsBoolean.java | 17 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsDictionary.java | 17 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsFloat.java | 17 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsInputStream.java | 22 | ||||
| -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.java | 17 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsObject.java | 23 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsOutputStream.java | 4 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/GatsString.java | 17 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/List.java | 10 | ||||
| -rw-r--r-- | java/com/xagasoft/gats/String.java | 10 |
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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 6 | public 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 | ||
| 3 | import java.io.InputStream; | 3 | import java.io.InputStream; |
| 4 | import java.io.ByteArrayOutputStream; | 4 | import java.io.ByteArrayOutputStream; |
| 5 | import java.io.ByteArrayInputStream; | ||
| 5 | import java.io.DataInputStream; | 6 | import java.io.DataInputStream; |
| 6 | 7 | ||
| 7 | public class GatsInputStream | 8 | public 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; | |||
| 3 | import java.io.OutputStream; | 3 | import java.io.OutputStream; |
| 4 | import java.io.InputStream; | 4 | import java.io.InputStream; |
| 5 | 5 | ||
| 6 | public class Integer extends GatsObject | 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | 1 | package com.xagasoft.gats; |
| 2 | 2 | ||
| 3 | import java.io.InputStream; | 3 | import java.io.InputStream; |
| 4 | import java.io.OutputStream; | ||
| 4 | 5 | ||
| 5 | public abstract class GatsObject | 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | 1 | package com.xagasoft.gats; |
| 2 | 2 | ||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 3 | public class GatsOutputStream | 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | import java.io.InputStream; | ||
| 4 | import java.io.OutputStream; | ||
| 5 | |||
| 6 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | public 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 @@ | |||
| 1 | package com.xagasoft.gats; | ||
| 2 | |||
| 3 | public class String extends GatsObject | ||
| 4 | { | ||
| 5 | public int getGatsObject() | ||
| 6 | { | ||
| 7 | return GatsObject.STRING; | ||
| 8 | } | ||
| 9 | }; | ||
| 10 | |||
