Refactor: use StringBuilder instead of StringBuffer
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index f46e69e..19a0f2c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -8,6 +8,9 @@
<body>
<release version="1.6-SNAPSHOT" date="in Mercurial" description="development">
<action dev="py4fun" type="update">
+ Refactor: use StringBuilder instead of StringBuffer (2010-01-12)
+ </action>
+ <action dev="py4fun" type="update">
Refactor: introduce Constant class to share String constants (2010-01-12)
</action>
<action dev="py4fun" type="update">
diff --git a/src/main/java/org/yaml/snakeyaml/emitter/Emitter.java b/src/main/java/org/yaml/snakeyaml/emitter/Emitter.java
index 1ebfcf8..2513f21 100644
--- a/src/main/java/org/yaml/snakeyaml/emitter/Emitter.java
+++ b/src/main/java/org/yaml/snakeyaml/emitter/Emitter.java
@@ -828,7 +828,7 @@
if (prefix == null || "".equals(prefix)) {
throw new EmitterException("tag prefix must not be empty");
}
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int start = 0;
int end = 0;
if (prefix.charAt(0) == '!') {
@@ -858,7 +858,7 @@
suffix = tag.substring(prefix.length());
}
}
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int start = 0;
int end = 0;
while (end < suffix.length()) {
@@ -1094,7 +1094,7 @@
if (this.column < indent) {
this.whitespace = true;
- StringBuffer data = new StringBuffer();
+ StringBuilder data = new StringBuilder();
for (int i = 0; i < indent - this.column; i++) {
data.append(" ");
}
@@ -1249,7 +1249,7 @@
}
private String determineBlockHints(String text) {
- StringBuffer hints = new StringBuffer();
+ StringBuilder hints = new StringBuilder();
if (text != null && text.length() > 0) {
if (Constant.LINEBR.has(" ", text.charAt(0))) {
hints.append(bestIndent);
diff --git a/src/main/java/org/yaml/snakeyaml/error/Mark.java b/src/main/java/org/yaml/snakeyaml/error/Mark.java
index e421185..9b5b5ae 100644
--- a/src/main/java/org/yaml/snakeyaml/error/Mark.java
+++ b/src/main/java/org/yaml/snakeyaml/error/Mark.java
@@ -69,7 +69,7 @@
}
}
String snippet = buffer.substring(start, end);
- StringBuffer result = new StringBuffer();
+ StringBuilder result = new StringBuilder();
for (int i = 0; i < indent; i++) {
result.append(" ");
}
@@ -91,7 +91,7 @@
@Override
public String toString() {
String snippet = get_snippet();
- StringBuffer where = new StringBuffer(" in \"");
+ StringBuilder where = new StringBuilder(" in \"");
where.append(name);
where.append("\", line ");
where.append(line + 1);
diff --git a/src/main/java/org/yaml/snakeyaml/error/MarkedYAMLException.java b/src/main/java/org/yaml/snakeyaml/error/MarkedYAMLException.java
index 4b4d0d6..50793aa 100644
--- a/src/main/java/org/yaml/snakeyaml/error/MarkedYAMLException.java
+++ b/src/main/java/org/yaml/snakeyaml/error/MarkedYAMLException.java
@@ -53,7 +53,7 @@
@Override
public String toString() {
- StringBuffer lines = new StringBuffer();
+ StringBuilder lines = new StringBuilder();
if (context != null) {
lines.append(context);
lines.append("\n");
diff --git a/src/main/java/org/yaml/snakeyaml/nodes/MappingNode.java b/src/main/java/org/yaml/snakeyaml/nodes/MappingNode.java
index 62f7475..a4b5fa0 100644
--- a/src/main/java/org/yaml/snakeyaml/nodes/MappingNode.java
+++ b/src/main/java/org/yaml/snakeyaml/nodes/MappingNode.java
@@ -79,7 +79,7 @@
@Override
public String toString() {
String values;
- StringBuffer buf = new StringBuffer();
+ StringBuilder buf = new StringBuilder();
for (NodeTuple node : getValue()) {
buf.append("{ key=");
buf.append(node.getKeyNode());
diff --git a/src/main/java/org/yaml/snakeyaml/reader/Reader.java b/src/main/java/org/yaml/snakeyaml/reader/Reader.java
index abb0607..1e08eff 100644
--- a/src/main/java/org/yaml/snakeyaml/reader/Reader.java
+++ b/src/main/java/org/yaml/snakeyaml/reader/Reader.java
@@ -39,14 +39,14 @@
private final java.io.Reader stream;
private int pointer = 0;
private boolean eof = true;
- private final StringBuffer buffer;
+ private final StringBuilder buffer;
private int index = 0;
private int line = 0;
private int column = 0;
public Reader(String stream) {
this.name = "<string>";
- this.buffer = new StringBuffer();
+ this.buffer = new StringBuilder();
checkPrintable(stream);
this.buffer.append(stream);
this.stream = null;
@@ -55,7 +55,7 @@
public Reader(java.io.Reader reader) {
this.name = "<reader>";
- this.buffer = new StringBuffer();
+ this.buffer = new StringBuilder();
this.stream = reader;
this.eof = false;
}
diff --git a/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
index 50cf8ff..f7f8c38 100644
--- a/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
+++ b/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java
@@ -210,7 +210,7 @@
int minutes = calendar.get(Calendar.MINUTE); // 0..59
int seconds = calendar.get(Calendar.SECOND); // 0..59
int millis = calendar.get(Calendar.MILLISECOND);
- StringBuffer buffer = new StringBuffer(String.valueOf(years));
+ StringBuilder buffer = new StringBuilder(String.valueOf(years));
buffer.append("-");
if (months < 10) {
buffer.append("0");
diff --git a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
index b142ea8..24023a7 100644
--- a/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
+++ b/src/main/java/org/yaml/snakeyaml/scanner/ScannerImpl.java
@@ -1237,7 +1237,7 @@
} else {
folded = false;
}
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
Mark startMark = reader.getMark();
// Scan the header.
reader.forward();
@@ -1383,7 +1383,7 @@
private Object[] scanBlockScalarIndentation() {
// See the specification for details.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int maxIndent = 0;
Mark endMark = reader.getMark();
while (Constant.LINEBR.has(" \r", reader.peek())) {
@@ -1402,7 +1402,7 @@
private Object[] scanBlockScalarBreaks(int indent) {
// See the specification for details.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
Mark endMark = reader.getMark();
while (this.reader.getColumn() < indent && reader.peek() == ' ') {
reader.forward();
@@ -1434,7 +1434,7 @@
} else {
_double = false;
}
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
Mark startMark = reader.getMark();
char quote = reader.peek();
reader.forward();
@@ -1450,7 +1450,7 @@
private String scanFlowScalarNonSpaces(boolean _double, Mark startMark) {
// See the specification for details.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
while (true) {
int length = 0;
while (!Constant.NULL_BL_T_LINEBR.has("\'\"\\", reader.peek(length))) {
@@ -1502,7 +1502,7 @@
private String scanFlowScalarSpaces(Mark startMark) {
// See the specification for details.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int length = 0;
while (" \t".indexOf(reader.peek(length)) != -1) {
length++;
@@ -1530,7 +1530,7 @@
private String scanFlowScalarBreaks(Mark startMark) {
// See the specification for details.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
while (true) {
// Instead of checking indentation, we check for document
// separators.
@@ -1561,7 +1561,7 @@
* </pre>
*/
private Token scanPlain() {
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
Mark startMark = reader.getMark();
Mark endMark = startMark;
int indent = this.indent + 1;
@@ -1615,7 +1615,7 @@
* </pre>
*/
private String scanPlainSpaces() {
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int length = 0;
while (reader.peek(length) == ' ') {
length++;
@@ -1631,7 +1631,7 @@
&& Constant.NULL_BL_T_LINEBR.has(reader.peek(3))) {
return "";
}
- StringBuffer breaks = new StringBuffer();
+ StringBuilder breaks = new StringBuilder();
while (Constant.LINEBR.has(" \r", reader.peek())) {
if (reader.peek() == ' ') {
reader.forward();
@@ -1691,7 +1691,7 @@
private String scanTagUri(String name, Mark startMark) {
// See the specification for details.
// Note: we do not check if URI is well-formed.
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int length = 0;
char ch = reader.peek(length);
while (ALPHA.indexOf(ch) != -1 || "-;/?:@&=+$,_.!~*\'()[]%".indexOf(ch) != -1) {
@@ -1719,7 +1719,7 @@
private String scanUriEscapes(String name, Mark startMark) {
// See the specification for details.
- StringBuffer bytes = new StringBuffer();
+ StringBuilder bytes = new StringBuilder();
while (reader.peek() == '%') {
reader.forward();
try {
diff --git a/src/test/java/org/pyyaml/CanonicalLoader.java b/src/test/java/org/pyyaml/CanonicalLoader.java
index 3aaa820..f680dfc 100644
--- a/src/test/java/org/pyyaml/CanonicalLoader.java
+++ b/src/test/java/org/pyyaml/CanonicalLoader.java
@@ -27,7 +27,7 @@
public Object load(java.io.Reader yaml) {
try {
int ch = yaml.read();
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (ch != -1) {
buffer.append((char) ch);
ch = yaml.read();
@@ -43,7 +43,7 @@
public Iterable<Object> loadAll(java.io.Reader yaml) {
try {
int ch = yaml.read();
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (ch != -1) {
buffer.append((char) ch);
ch = yaml.read();
diff --git a/src/test/java/org/pyyaml/CanonicalScanner.java b/src/test/java/org/pyyaml/CanonicalScanner.java
index 12c0623..42a5034 100644
--- a/src/test/java/org/pyyaml/CanonicalScanner.java
+++ b/src/test/java/org/pyyaml/CanonicalScanner.java
@@ -248,7 +248,7 @@
private Token scanScalar() {
index++;
- StringBuffer chunks = new StringBuffer();
+ StringBuilder chunks = new StringBuilder();
int start = index;
boolean ignoreSpaces = false;
while (data.charAt(index) != '"') {
diff --git a/src/test/java/org/pyyaml/PyCanonicalTest.java b/src/test/java/org/pyyaml/PyCanonicalTest.java
index 94d3f06..72fb206 100644
--- a/src/test/java/org/pyyaml/PyCanonicalTest.java
+++ b/src/test/java/org/pyyaml/PyCanonicalTest.java
@@ -41,7 +41,7 @@
private List<Token> canonicalScan(InputStream input) throws IOException {
int ch = input.read();
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (ch != -1) {
buffer.append((char) ch);
ch = input.read();
diff --git a/src/test/java/org/pyyaml/PyImportTest.java b/src/test/java/org/pyyaml/PyImportTest.java
index 8a44e3e..eafa5cd 100644
--- a/src/test/java/org/pyyaml/PyImportTest.java
+++ b/src/test/java/org/pyyaml/PyImportTest.java
@@ -87,7 +87,7 @@
protected List<Event> canonicalParse(InputStream input2) throws IOException {
Reader reader = new Reader(new UnicodeReader(input2));
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (reader.peek() != '\0') {
buffer.append(reader.peek());
reader.forward();
diff --git a/src/test/java/org/pyyaml/PyStructureTest.java b/src/test/java/org/pyyaml/PyStructureTest.java
index 2384456..e9869f9 100644
--- a/src/test/java/org/pyyaml/PyStructureTest.java
+++ b/src/test/java/org/pyyaml/PyStructureTest.java
@@ -187,7 +187,7 @@
private List<Node> canonical_compose_all(InputStream file) {
Reader reader = new Reader(new UnicodeReader(file));
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (reader.peek() != '\0') {
buffer.append(reader.peek());
reader.forward();
@@ -215,7 +215,7 @@
@Override
public Iterable<Object> loadAll(java.io.Reader yaml) {
Reader reader = new Reader(yaml);
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
while (reader.peek() != '\0') {
buffer.append(reader.peek());
reader.forward();
diff --git a/src/test/java/org/yaml/snakeyaml/Util.java b/src/test/java/org/yaml/snakeyaml/Util.java
index d200765..b4deaa6 100644
--- a/src/test/java/org/yaml/snakeyaml/Util.java
+++ b/src/test/java/org/yaml/snakeyaml/Util.java
@@ -29,7 +29,7 @@
throw new RuntimeException("Can not find " + theName);
}
BufferedInputStream is = new BufferedInputStream(input);
- StringBuffer buf = new StringBuffer(3000);
+ StringBuilder buf = new StringBuilder(3000);
int i;
try {
while ((i = is.read()) != -1) {
@@ -41,7 +41,7 @@
String resource = buf.toString();
// convert EOLs
String[] lines = resource.split("\\r?\\n");
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
for (int j = 0; j < lines.length; j++) {
buffer.append(lines[j]);
buffer.append("\n");