package com.librato.metrics.client;

public class Tag {
    public final String name;
    public final String value;

    public Tag(String name, String value) {
        this.name = name;
        this.value = value;
    }

    @Override
    public String toString() {
        return name + "=" + value;
    }
}

@@ -34,26 +34,154 @@
 t;%0A%0A
-public class Tag %7B
+import org.codehaus.jackson.annotate.JsonCreator;%0Aimport org.codehaus.jackson.annotate.JsonProperty;%0A%0Apublic class Tag %7B%0A    @JsonProperty(%22name%22)
 %0A   
@@ -203,24 +203,51 @@
 tring name;%0A
+    @JsonProperty(%22value%22)%0A
     public f
@@ -274,31 +274,108 @@
     
-public Tag(String name,
+@JsonCreator%0A    public Tag(@JsonProperty(%22name%22) String name,%0A               @JsonProperty(%22value%22)
  Str
@@ -533,11 +533,574 @@
 e;%0A    %7D
+%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) return true;%0A        if (o == null %7C%7C getClass() != o.getClass()) return false;%0A%0A        Tag tag = (Tag) o;%0A%0A        if (name != null ? !name.equals(tag.name) : tag.name != null)%0A            return false;%0A        return value != null ? value.equals(tag.value) : tag.value == null;%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        int result = name != null ? name.hashCode() : 0;%0A        result = 31 * result + (value != null ? value.hashCode() : 0);%0A        return result;%0A    %7D
 %0A%7D%0A

Add JSON annotations and equals/hashcode to Tag