Add methods to test if a SafeHtmlBuilder is empty
Some application code may need to know if there is already data
in a SafeHtmlBuilder, as that may drive a decision to add some
sort of combiner string like ", " before putting more data into
the builder's buffer.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java b/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
index b2a456d..bc7d39b 100644
--- a/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
+++ b/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
@@ -17,6 +17,10 @@
final class BufferDirect implements Buffer {
private final StringBuilder strbuf = new StringBuilder();
+ boolean isEmpty() {
+ return strbuf.length() == 0;
+ }
+
public void append(final boolean v) {
strbuf.append(v);
}
diff --git a/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java b/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
index 598a0a0..5a3fdfd 100644
--- a/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
+++ b/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
@@ -40,6 +40,16 @@
cb = dBuf = new BufferDirect();
}
+ /** @return true if this builder has not had an append occur yet. */
+ public boolean isEmpty() {
+ return dBuf.isEmpty();
+ }
+
+ /** @return true if this builder has content appended into it. */
+ public boolean hasContent() {
+ return !isEmpty();
+ }
+
public SafeHtmlBuilder append(final boolean in) {
cb.append(in);
return this;