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;