lots of new files
authorbdemsky <bdemsky>
Sat, 3 Nov 2007 08:54:53 +0000 (08:54 +0000)
committerbdemsky <bdemsky>
Sat, 3 Nov 2007 08:54:53 +0000 (08:54 +0000)
15 files changed:
Robust/src/ClassLibrary/BufferedInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/BufferedOutputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/BufferedWriter.java [new file with mode: 0644]
Robust/src/ClassLibrary/Character.java [new file with mode: 0644]
Robust/src/ClassLibrary/Date.java [new file with mode: 0644]
Robust/src/ClassLibrary/Dictionary.java [new file with mode: 0644]
Robust/src/ClassLibrary/Enumeration.java [new file with mode: 0644]
Robust/src/ClassLibrary/FileInputStream.java
Robust/src/ClassLibrary/InputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/Socket.java
Robust/src/ClassLibrary/SocketInputStream.java [new file with mode: 0644]
Robust/src/ClassLibrary/String.java
Robust/src/ClassLibrary/StringBuffer.java
Robust/src/ClassLibrary/Vector.java [new file with mode: 0644]
Robust/src/ClassLibrary/Writer.java [new file with mode: 0644]

diff --git a/Robust/src/ClassLibrary/BufferedInputStream.java b/Robust/src/ClassLibrary/BufferedInputStream.java
new file mode 100644 (file)
index 0000000..4eff370
--- /dev/null
@@ -0,0 +1,13 @@
+public class BufferedInputStream extends InputStream {
+    InputStream in;
+    public BufferedInputStream(InputStream in) {
+       this.in=in;
+    }
+    public int read() {
+       return in.read();
+    }
+
+    public int read(byte[] b) {
+       return in.read(b);
+    }
+}
diff --git a/Robust/src/ClassLibrary/BufferedOutputStream.java b/Robust/src/ClassLibrary/BufferedOutputStream.java
new file mode 100644 (file)
index 0000000..c5e8cc0
--- /dev/null
@@ -0,0 +1,3 @@
+public class BufferedOutputStream {
+
+}
diff --git a/Robust/src/ClassLibrary/BufferedWriter.java b/Robust/src/ClassLibrary/BufferedWriter.java
new file mode 100644 (file)
index 0000000..cdc17c5
--- /dev/null
@@ -0,0 +1,12 @@
+public class BufferedWriter extends Writer {
+    Writer out;
+
+    public void write(String s) {
+       out.write(s);
+    }
+
+    public void newLine() {
+       out.write("\n");
+    }
+
+}
diff --git a/Robust/src/ClassLibrary/Character.java b/Robust/src/ClassLibrary/Character.java
new file mode 100644 (file)
index 0000000..2175a75
--- /dev/null
@@ -0,0 +1,17 @@
+public class Character {
+
+    public static int digit(char ch, int radix) {
+       if (ch>='0'&&ch<='9')
+           return ch-'0';
+       else if (ch>='a'&&ch<='z') {
+           int val=(ch-'a')+10;
+           if (val<radix)
+               return val;
+       } else if (ch>='A'&&ch<='Z') {
+           int val=(ch-'A')+10;
+           if (val<radix)
+               return val;
+       }
+       return -1;
+    }
+}
diff --git a/Robust/src/ClassLibrary/Date.java b/Robust/src/ClassLibrary/Date.java
new file mode 100644 (file)
index 0000000..6072dab
--- /dev/null
@@ -0,0 +1,5 @@
+public class Date {
+    public Date() {}
+
+    
+}
diff --git a/Robust/src/ClassLibrary/Dictionary.java b/Robust/src/ClassLibrary/Dictionary.java
new file mode 100644 (file)
index 0000000..869dffc
--- /dev/null
@@ -0,0 +1,3 @@
+public class Dictionary {
+
+}
diff --git a/Robust/src/ClassLibrary/Enumeration.java b/Robust/src/ClassLibrary/Enumeration.java
new file mode 100644 (file)
index 0000000..861196e
--- /dev/null
@@ -0,0 +1,3 @@
+public class Enumeration {
+
+}
index 3a62d054d6583bddaa2f81e36f79cfe66ce5db30..11bb6e4453b00de5515d0dd0b356fb8ab4b8054b 100644 (file)
@@ -1,4 +1,4 @@
-public class FileInputStream {
+public class FileInputStream extends InputStream {
     private int fd;
 
     public FileInputStream(String pathname) {
diff --git a/Robust/src/ClassLibrary/InputStream.java b/Robust/src/ClassLibrary/InputStream.java
new file mode 100644 (file)
index 0000000..0024877
--- /dev/null
@@ -0,0 +1,6 @@
+public class InputStream {
+    public int read() {
+    }
+    public int read(byte[] b) {
+    }
+}
index 72b76f6422fd7c06f037c93a273d88e933ca98a2..aa9d114534a7f8ada85757833e7904eacb5e0a7a 100644 (file)
@@ -3,8 +3,15 @@ public class Socket {
     external flag IOPending;    
     /* File Descriptor */
     int fd;
+    private SocketInputStream sin;
     
     public Socket() {
+       sin=new SocketInputStream(this);
+
+    }
+
+    public InputStream getInputStream() {
+       return sin;
     }
 
     public Socket(String host, int port) {
diff --git a/Robust/src/ClassLibrary/SocketInputStream.java b/Robust/src/ClassLibrary/SocketInputStream.java
new file mode 100644 (file)
index 0000000..0539785
--- /dev/null
@@ -0,0 +1,14 @@
+public class SocketInputStream {
+    Socket s;
+    public SocketInputStream(Socket s) {
+       this.s=s;
+    }
+
+    public int read() {
+       byte[] x=new byte[1];
+       int len=s.read(x);
+       if (len==0)
+           return -1;
+       else return x[1];
+    }
+}
index 4d4dfc507fc30dfab8611fa00d267420d770d1bb..d6f23e5fb21d829bf20f581a8b7ab7b146a3d073 100644 (file)
@@ -39,7 +39,20 @@ public class String {
            value[i]=strbuf.value[i];
     }
 
+    public boolean endsWith(String suffix) {
+       return regionMatches(count - suffix.count, suffix, 0, suffix.count);
+    }
+
+
+    public String substring(int beginIndex) {
+       return substring(beginIndex, this.count);
+    }
+
     public String subString(int beginIndex, int endIndex) {
+       return substring(beginIndex, endIndex);
+    }
+
+    public String substring(int beginIndex, int endIndex) {
        String str=new String();
        if (beginIndex>this.count||endIndex>this.count||beginIndex>endIndex) {
            // FIXME
@@ -115,10 +128,29 @@ public class String {
        return -1;
     }
 
+    public int lastIndexOf(String str, int fromIndex) {
+       int k=count-str.count;
+       if (k>fromIndex)
+           k=fromIndex;
+       for(;k>=0;k--) {
+           if (regionMatches(fromIndex, str, 0, str.count))
+               return k;
+       }
+       return -1;
+    }
+
+    public int lastIndexOf(String str) {
+       return lastIndexOf(str, count-str.count);
+    }
+    
     public boolean startsWith(String str) {
        return regionMatches(0, str, 0, str.count);
     }
 
+    public boolean startsWith(String str, int toffset) {
+       return regionMatches(toffset, str, 0, str.count);
+    }
+
     public boolean regionMatches(int toffset, String other, int ooffset, int len) {
        if (toffset<0 || ooffset <0 || (toffset+len)>count || (ooffset+len)>other.count)
            return false;
@@ -162,6 +194,12 @@ public class String {
            return o.toString();
     }
 
+    public static String valueOf(char c) {
+       char ar[]=new char[1];
+       ar[0]=c;
+       return new String(ar);
+    }
+
     public static String valueOf(int x) {
        int length=0;
        int tmp;
@@ -216,4 +254,20 @@ public class String {
        }
        return true;
     }
+
+    public boolean equalsIgnoreCase(String s) {
+       if (s.count!=count)
+           return false;
+       for(int i=0;i<count;i++) {
+           char l=s.value[i+s.offset];
+           char r=value[i+offset];
+           if (l>='a'&&l<='z')
+               l+='A'-'a';
+           if (r>='a'&&r<='z')
+               r+='A'-'a';
+           if (l!=r)
+               return false;
+       }
+       return true;
+    }
 }
index 84e771e89cd05992841e67839dbc6000c5099556..f51c724889478505ac09122e229e7dacedcd5bef 100644 (file)
@@ -27,7 +27,11 @@ public class StringBuffer {
        return value[x];
     }
 
-    public void append(String s) {
+    public StringBuffer append(char c) {
+       return append(String.valueOf(c));
+    }
+
+    public StringBuffer append(String s) {
        if ((s.count+count)>value.length) {
            // Need to allocate
            char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
@@ -43,9 +47,10 @@ public class StringBuffer {
            }
            count+=s.count;
        }
+       return this;
     }
 
-    public void append(StringBuffer s) {
+    public StringBuffer append(StringBuffer s) {
        if ((s.count+count)>value.length) {
            // Need to allocate
            char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
@@ -61,6 +66,7 @@ public class StringBuffer {
            }
            count+=s.count;
        }
+       return this;
     }
 
     public String toString() {
diff --git a/Robust/src/ClassLibrary/Vector.java b/Robust/src/ClassLibrary/Vector.java
new file mode 100644 (file)
index 0000000..c145d14
--- /dev/null
@@ -0,0 +1,83 @@
+public class Vector {
+    Object[] array;
+    int size;
+    int capacityIncrement;
+
+    public Vector() {
+       capacityIncrement=0;
+       size=0;
+       array=new Object[10];
+    }
+
+    public void clear() {
+       size=0;
+       array=new Object[10];
+    }
+
+    public int indexOf(Object elem) {
+       return indexOf(elem, 0);
+    }
+
+    public int indexOf(Object elem, int index) {
+       for(int i=index;i<size;i++) {
+           if (elem.equals(array[i]))
+               return i;
+       }
+       return -1;
+    }
+
+    public Object elementAt(int index) {
+       if (index<0 || index >=size) {
+           System.printString("Illegal Vector.elementAt");
+           return null;
+       }
+       return array[index];
+    }
+
+    public void setElementAt(Object obj, int index) {
+       if (index>=0 && index <size)
+           array[index]=obj;
+       else
+           System.printString("Illegal setElementAt");
+    }
+
+    private ensureCapacity(int minCapacity) {
+       if (minCapacity>array.length) {
+           int newsize;
+           if (capacityIncrement<=0)
+               newsize=array.length*2;
+           else
+               newsize=array.length+capacityIncrement;
+           if (newsize<minCapacity)
+               newsize=minCapacity;
+           Object [] newarray=new Object[minCapacity];
+           for(int i=0;i<size;i++)
+               newarray[i]=array[i];
+           array=newarray;
+       }
+    }
+
+    public int size() {
+       return size;
+    }
+
+    public Enumeration elements() {
+       System.printString("Vector.elements not implemented");
+    }
+
+    public void addElement(Object obj) {
+       if (size==array.length) {
+           ensureCapacity(size+1);
+       }
+       array[size++]=obj;
+    }
+
+    public void removeElementAt(int index) {
+       if (index<0||index>=size)
+           System.printString("Illegal remove");
+       for(int i=index;i<(size-1);i++) {
+           array[i]=array[i+1];
+       }
+       size--;
+    }
+}
diff --git a/Robust/src/ClassLibrary/Writer.java b/Robust/src/ClassLibrary/Writer.java
new file mode 100644 (file)
index 0000000..2c3000f
--- /dev/null
@@ -0,0 +1,9 @@
+public class Writer {
+
+    public void write(String s) {
+    }
+
+    public void write(String s, int off, int len) {
+       write(s.substring(off, off+len));
+    }
+}