*** empty log message ***
[IRC.git] / Robust / src / ClassLibrary / StringBuffer.java
index b06fd7066132cc2a4dbf6e210bcfe9bef1fd2a50..0aa1a2d9681eb619dd0c2d8e033ca5e12fe7ac80 100644 (file)
@@ -1,68 +1,75 @@
 public class StringBuffer {
-    char value[];
-    int count;
-    int offset;
-    //    private static final int DEFAULTSIZE=16;
+  char value[];
+  int count;
+  //    private static final int DEFAULTSIZE=16;
 
-    public StringBuffer(String str) {
-       value=new char[str.count+16];//16 is DEFAULTSIZE
-       count=str.count;
-       offset=0;
-       for(int i=0;i<count;i++)
-           value[i]=str.value[i+str.offset];
-    }
+  public StringBuffer(String str) {
+    value=new char[str.count+16];    //16 is DEFAULTSIZE
+    count=str.count;
+    for(int i=0; i<count; i++)
+      value[i]=str.value[i+str.offset];
+  }
 
-    public int length() {
-       return count;
-    }
+  public StringBuffer() {
+    value=new char[16];    //16 is DEFAULTSIZE
+    count=0;
+  }
 
-    public int capacity() {
-       return value.length;
-    }
+  public int length() {
+    return count;
+  }
 
-    public char charAt(int x) {
-       return value[x+offset];
-    }
+  public int capacity() {
+    return value.length;
+  }
 
-    public void append(String s) {
-       if ((s.count+count+offset)>value.length) {
-           // Need to allocate
-           char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
-           for(int i=0;i<count;i++)
-               newvalue[i]=value[i+offset];
-           for(int i=0;i<s.count;i++)
-               newvalue[i+count]=s.value[i+s.offset];
-           value=newvalue;
-           count+=s.count;
-           offset=0;
-       } else {
-           for(int i=0;i<s.count;i++) {
-               value[i+count+offset]=s.value[i+s.offset];
-           }
-           count+=s.count;
-       }
-    }
+  public char charAt(int x) {
+    return value[x];
+  }
+
+  public StringBuffer append(char c) {
+    return append(String.valueOf(c));
+  }
 
-    public void append(StringBuffer s) {
-       if ((s.count+count+offset)>value.length) {
-           // Need to allocate
-           char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
-           for(int i=0;i<count;i++)
-               newvalue[i]=value[i+offset];
-           for(int i=0;i<s.count;i++)
-               newvalue[i+count]=s.value[i+s.offset];
-           value=newvalue;
-           count+=s.count;
-           offset=0;
-       } else {
-           for(int i=0;i<s.count;i++) {
-               value[i+count+offset]=s.value[i+s.offset];
-           }
-           count+=s.count;
-       }
+  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
+      for(int i=0; i<count; i++)
+       newvalue[i]=value[i];
+      for(int i=0; i<s.count; i++)
+       newvalue[i+count]=s.value[i+s.offset];
+      value=newvalue;
+      count+=s.count;
+    } else {
+      for(int i=0; i<s.count; i++) {
+       value[i+count]=s.value[i+s.offset];
+      }
+      count+=s.count;
     }
+    return this;
+  }
 
-    public String toString() {
-       return new String(this);
+  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
+      for(int i=0; i<count; i++)
+       newvalue[i]=value[i];
+      for(int i=0; i<s.count; i++)
+       newvalue[i+count]=s.value[i];
+      value=newvalue;
+      count+=s.count;
+    } else {
+      for(int i=0; i<s.count; i++) {
+       value[i+count]=s.value[i];
+      }
+      count+=s.count;
     }
+    return this;
+  }
+
+  public String toString() {
+    return new String(this);
+  }
 }