BUG 3340 : Improve logging
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / identifiers / TransactionIdentifier.java
index ba2e27c69f96f55192030b5e622e660197d19847..5a365f28a3e45abcc794b6de1f8349125cd9a2ee 100644 (file)
@@ -11,17 +11,31 @@ package org.opendaylight.controller.cluster.datastore.identifiers;
 import com.google.common.base.Preconditions;
 
 public class TransactionIdentifier {
+    protected static final String TX_SEPARATOR = "-txn-";
+
+    protected String getMemberName() {
+        return memberName;
+    }
+
+    protected long getCounter() {
+        return counter;
+    }
+
     private final String memberName;
     private final long counter;
-
+    private String stringRepresentation;
 
     public TransactionIdentifier(String memberName, long counter) {
         this.memberName = Preconditions.checkNotNull(memberName, "memberName should not be null");
         this.counter = counter;
     }
 
-    public static Builder builder(){
-        return new Builder();
+    public String getChainId() {
+        return "";
+    }
+
+    public static TransactionIdentifier create(String memberName, long counter) {
+        return new TransactionIdentifier(memberName, counter);
     }
 
     @Override
@@ -52,29 +66,14 @@ public class TransactionIdentifier {
         return result;
     }
 
-    @Override public String toString() {
-        final StringBuilder sb =
-            new StringBuilder();
-        sb.append(memberName).append("-txn-").append(counter);
-        return sb.toString();
-    }
-
-    public static class Builder {
-        private String memberName;
-        private long counter;
-
-        public TransactionIdentifier build(){
-            return new TransactionIdentifier(memberName, counter);
-        }
-
-        public Builder memberName(String memberName){
-            this.memberName = memberName;
-            return this;
+    @Override
+    public String toString() {
+        if(stringRepresentation == null) {
+            stringRepresentation = new StringBuilder(memberName.length() + TX_SEPARATOR.length() + 10).
+                append(memberName).append(TX_SEPARATOR).append(counter).toString();
         }
 
-        public Builder counter(long counter){
-            this.counter = counter;
-            return this;
-        }
+        return stringRepresentation;
     }
+
 }