You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by er...@locus.apache.org on 2000/09/26 20:39:33 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/framework XMLStringBuffer.java
ericye 00/09/26 11:39:32
Modified: java/src/org/apache/xerces/framework Tag: xerces_j_2
XMLStringBuffer.java
Log:
flesh out the methods.
Revision Changes Path
No revision
No revision
1.1.2.6 +38 -2 xml-xerces/java/src/org/apache/xerces/framework/Attic/XMLStringBuffer.java
Index: XMLStringBuffer.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/framework/Attic/XMLStringBuffer.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- XMLStringBuffer.java 2000/09/11 21:56:14 1.1.2.5
+++ XMLStringBuffer.java 2000/09/26 18:39:31 1.1.2.6
@@ -59,7 +59,7 @@
/**
* @author Stubs generated by DesignDoc on Mon Sep 11 11:10:57 PDT 2000
- * @version $Id: XMLStringBuffer.java,v 1.1.2.5 2000/09/11 21:56:14 andyc Exp $
+ * @version $Id: XMLStringBuffer.java,v 1.1.2.6 2000/09/26 18:39:31 ericye Exp $
*/
public class XMLStringBuffer
extends XMLString {
@@ -69,7 +69,8 @@
//
/** SIZE */
- public static final int SIZE = -1;
+ /** initial buffer size when constructed from the default constructor */
+ public static final int SIZE = 16;
//
// Constructors
@@ -79,6 +80,9 @@
*
*/
public XMLStringBuffer() {
+ ch = new char[SIZE];
+ offset = 0;
+ length = 0;
}
/**
@@ -87,6 +91,9 @@
* @param size
*/
public XMLStringBuffer(int size) {
+ ch = new char[size];
+ offset = 0;
+ length = 0;
}
//
@@ -99,6 +106,13 @@
* @param c
*/
public void append(char c) {
+ if ( (length+1) > ch.length ) {
+ char[] newArray = new char[ch.length+SIZE];
+ System.arraycopy(ch, 0, newArray, 0, length);
+ ch = newArray;
+ }
+
+ ch[length++] = c;
} // append
/**
@@ -107,6 +121,17 @@
* @param s
*/
public void append(String s) {
+ int len = s.length();
+ if ( (length+len) > ch.length) {
+ char[] newArray = new char[ch.length+len+SIZE];
+ System.arraycopy(ch, 0, newArray, 0, length);
+ ch = newArray;
+ }
+
+ for (int i=0; i<len; i++) {
+ ch[length+i] = s.charAt(i);
+ }
+ length += len;
} // append
/**
@@ -117,6 +142,16 @@
* @param length
*/
public void append(char[] ch, int offset, int length) {
+ if ( (this.length+length) > ch.length) {
+ char[] newArray = new char[ch.length+length+SIZE];
+ System.arraycopy(this.ch, 0, newArray, 0, this.length);
+ this.ch = newArray;
+ }
+
+ for (int i=0; i<length; i++) {
+ this.ch[this.length+i] = ch[offset+i];
+ }
+ this.length += length;
} // append
/**
@@ -125,6 +160,7 @@
* @param s
*/
public void append(XMLString s) {
+ append(s.ch, s.offset, s.length);
} // append
} // class XMLStringBuffer