aboutsummaryrefslogtreecommitdiff
path: root/api/src/main
diff options
context:
space:
mode:
authorBogdan Drutu <bdrutu@google.com>2018-08-03 12:37:46 +0300
committerGitHub <noreply@github.com>2018-08-03 12:37:46 +0300
commitb0c487b09287f7734f46d7b84afbd07d6c025f28 (patch)
tree416071c283caf32e73a99fb2a46c2ea773c25be3 /api/src/main
parentd0d836136149d7379b50bd6fb8d81e4749df3fd8 (diff)
downloadopencensus-java-b0c487b09287f7734f46d7b84afbd07d6c025f28.tar.gz
Minor improvements for Tracestate. (#1358)
Diffstat (limited to 'api/src/main')
-rw-r--r--api/src/main/java/io/opencensus/trace/Tracestate.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/api/src/main/java/io/opencensus/trace/Tracestate.java b/api/src/main/java/io/opencensus/trace/Tracestate.java
index 63d32fd3..5535a0ac 100644
--- a/api/src/main/java/io/opencensus/trace/Tracestate.java
+++ b/api/src/main/java/io/opencensus/trace/Tracestate.java
@@ -75,9 +75,19 @@ public abstract class Tracestate {
public abstract List<Entry> getEntries();
/**
- * Returns a builder based on this {@code Tracestate}.
+ * Returns a {@code Builder} based on an empty {@code Tracestate}.
*
- * @return a builder based on this {@code Tracestate}.
+ * @return a {@code Builder} based on an empty {@code Tracestate}.
+ * @since 0.16
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ /**
+ * Returns a {@code Builder} based on this {@code Tracestate}.
+ *
+ * @return a {@code Builder} based on this {@code Tracestate}.
* @since 0.16
*/
public Builder toBuilder() {
@@ -94,9 +104,11 @@ public abstract class Tracestate {
private final Tracestate parent;
@javax.annotation.Nullable private ArrayList<Entry> entries;
+ // Needs to be in this class to avoid initialization deadlock because super class depends on
+ // subclass (the auto-value generate class).
private static final Tracestate EMPTY = create(Collections.<Entry>emptyList());
- public Builder() {
+ private Builder() {
this(EMPTY);
}