]> source.dussan.org Git - poi.git/commitdiff
replace StringBuffer with StringBuilder in TextPiece
authorSergey Vladimirov <sergey@apache.org>
Tue, 9 Aug 2011 05:00:09 +0000 (05:00 +0000)
committerSergey Vladimirov <sergey@apache.org>
Tue, 9 Aug 2011 05:00:09 +0000 (05:00 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1155208 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/HWPFOldDocument.java
src/scratchpad/src/org/apache/poi/hwpf/dev/HWPFLister.java
src/scratchpad/src/org/apache/poi/hwpf/extractor/Word6Extractor.java
src/scratchpad/src/org/apache/poi/hwpf/model/TextPiece.java
src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java
src/scratchpad/testcases/org/apache/poi/hwpf/model/TestTextPieceTable.java

index 08c60959cf59cdf3a97933574aa622af2455d402..182e6344458af957885ada978c3398ebef38c9d0 100644 (file)
@@ -74,7 +74,7 @@ public class HWPFOldDocument extends HWPFDocumentCore {
             tpt = cft.getTextPieceTable();
             
             for(TextPiece tp : tpt.getTextPieces()) {
-                text.append( tp.getStringBuffer() );
+                text.append( tp.getStringBuilder() );
             }
         } else {
             // TODO Discover if these older documents can ever hold Unicode Strings?
@@ -94,7 +94,7 @@ public class HWPFOldDocument extends HWPFDocumentCore {
             );
             tpt.add(tp);
             
-            text.append(tp.getStringBuffer());
+            text.append(tp.getStringBuilder());
         }
         
         _text = tpt.getText();
index 10b8a2467d8f91457051d932430de8cc1f3f9f0f..44f9e93e53f4b01c62ad5796f179355d52e3c48e 100644 (file)
@@ -562,7 +562,7 @@ public final class HWPFLister
 
             if ( withText )
             {
-                System.out.println( "\t" + textPiece.getStringBuffer() );
+                System.out.println( "\t" + textPiece.getStringBuilder() );
             }
         }
     }
index b40aa396b59750e50af34349796cbeff6b895f8b..123f501781e4a63b59c7c90fc4529ebfc239456c 100644 (file)
@@ -84,7 +84,7 @@ public final class Word6Extractor extends POIOLE2TextExtractor {
             // Fall back to ripping out the text pieces
                ret = new String[doc.getTextTable().getTextPieces().size()];
                for(int i=0; i<ret.length; i++) {
-                   ret[i] = doc.getTextTable().getTextPieces().get(i).getStringBuffer().toString();
+                   ret[i] = doc.getTextTable().getTextPieces().get(i).getStringBuilder().toString();
                    
                    // Fix the line endings
                    ret[i].replaceAll("\r", "\ufffe");
index a2255e7538d83d79b54bcf2bb3f8d40accf043ab..c6acd4371c568ce1a44628d4c59f700ca6928263 100644 (file)
@@ -68,7 +68,7 @@ public final class TextPiece extends PropertyNode<TextPiece>
          _pd = pd;
 
          // Validate
-         int textLength = ((StringBuffer)_buf).length();
+         int textLength = ((CharSequence)_buf).length();
          if(end-start != textLength) {
                  throw new IllegalStateException("Told we're for characters " + start + " -> " + end + ", but actually covers " + textLength + " characters!");
          }
@@ -78,9 +78,9 @@ public final class TextPiece extends PropertyNode<TextPiece>
   }
 
   /**
-   * Create the StringBuffer from the text and unicode flag
+   * Create the StringBuilder from the text and unicode flag
    */
-  private static StringBuffer buildInitSB(byte[] text, PieceDescriptor pd) {
+  private static StringBuilder buildInitSB(byte[] text, PieceDescriptor pd) {
          String str;
          try {
                  if(pd.isUnicode()) {
@@ -91,7 +91,7 @@ public final class TextPiece extends PropertyNode<TextPiece>
          } catch(UnsupportedEncodingException e) {
                  throw new RuntimeException("Your Java is broken! It doesn't know about basic, required character encodings!");
          }
-         return new StringBuffer(str);
+         return new StringBuilder(str);
   }
 
   /**
@@ -107,15 +107,21 @@ public final class TextPiece extends PropertyNode<TextPiece>
      return _pd;
    }
 
+   @Deprecated
    public StringBuffer getStringBuffer()
    {
-     return (StringBuffer)_buf;
+     return new StringBuffer(getStringBuilder());
+   }
+
+   public StringBuilder getStringBuilder()
+   {
+     return (StringBuilder)_buf;
    }
 
    public byte[] getRawBytes()
    {
      try {
-       return ((StringBuffer)_buf).toString().getBytes(_usesUnicode ?
+       return ((CharSequence)_buf).toString().getBytes(_usesUnicode ?
            "UTF-16LE" : "Cp1252");
      } catch (UnsupportedEncodingException ignore) {
                  throw new RuntimeException("Your Java is broken! It doesn't know about basic, required character encodings!");
@@ -130,7 +136,7 @@ public final class TextPiece extends PropertyNode<TextPiece>
     */
    public String substring(int start, int end)
    {
-          StringBuffer buf = (StringBuffer)_buf;
+       StringBuilder buf = (StringBuilder)_buf;
 
           // Validate
           if(start < 0) {
@@ -167,7 +173,7 @@ public final class TextPiece extends PropertyNode<TextPiece>
 
                   int bufStart = overlapStart - myStart;
                   int bufEnd = overlapEnd - myStart;
-                  ((StringBuffer)_buf).delete(bufStart, bufEnd);
+                  ((StringBuilder)_buf).delete(bufStart, bufEnd);
           }
 
           // We need to invoke this even if text from this piece is not being
@@ -197,7 +203,7 @@ public final class TextPiece extends PropertyNode<TextPiece>
      if (limitsAreEqual(o))
      {
        TextPiece tp = (TextPiece)o;
-       return getStringBuffer().toString().equals(tp.getStringBuffer().toString()) &&
+       return getStringBuilder().toString().equals(tp.getStringBuilder().toString()) &&
               tp._usesUnicode == _usesUnicode && _pd.equals(tp._pd);
      }
      return false;
index 453d0285a11658a0b12b6a236e3c4e13b243e42a..b3063aa5b4c3ebb7bce5f009446778ff08b964d0 100644 (file)
@@ -264,7 +264,7 @@ public class TextPieceTable implements CharIndexTranslator
         StringBuilder docText = new StringBuilder();
         for ( TextPiece textPiece : _textPieces )
         {
-            String toAppend = textPiece.getStringBuffer().toString();
+            String toAppend = textPiece.getStringBuilder().toString();
             int toAppendLength = toAppend.length();
 
             if ( toAppendLength != textPiece.getEnd() - textPiece.getStart() )
index bef1fc32e8b9cabc9b97524d94e1db15f3314b2a..b44a3ba16bf7d14e1d14cad94c734fc912b18cef 100644 (file)
@@ -70,13 +70,13 @@ public final class TestTextPieceTable extends TestCase {
 
                // All ascii, so stored in one big lump
                assertEquals(1, tbl.getTextPieces().size());
-               TextPiece tp = (TextPiece)tbl.getTextPieces().get(0);
+               TextPiece tp = tbl.getTextPieces().get(0);
 
                assertEquals(0, tp.getStart());
                assertEquals(339, tp.getEnd());
                assertEquals(339, tp.characterLength());
                assertEquals(339, tp.bytesLength());
-               assertTrue(tp.getStringBuffer().toString().startsWith("This is a sample word document"));
+               assertTrue(tp.getStringBuilder().toString().startsWith("This is a sample word document"));
 
 
                // Save and re-load
@@ -84,13 +84,13 @@ public final class TestTextPieceTable extends TestCase {
                tbl = docB.getTextTable();
 
                assertEquals(1, tbl.getTextPieces().size());
-               tp = (TextPiece)tbl.getTextPieces().get(0);
+               tp = tbl.getTextPieces().get(0);
 
                assertEquals(0, tp.getStart());
                assertEquals(339, tp.getEnd());
                assertEquals(339, tp.characterLength());
                assertEquals(339, tp.bytesLength());
-               assertTrue(tp.getStringBuffer().toString().startsWith("This is a sample word document"));
+               assertTrue(tp.getStringBuilder().toString().startsWith("This is a sample word document"));
        }
 
        /**