View Javadoc

1   package com.atlassian.jira.rest.client.api.domain;
2   
3   import com.google.common.base.Objects;
4   
5   import javax.annotation.Nullable;
6   
7   /**
8    * Represents a value that has changed in object related to Audit Record.
9    *
10   * @since v2.0
11   */
12  public class AuditChangedValue {
13  
14      private final String fieldName;
15  
16      @Nullable
17      private final String changedTo;
18  
19      @Nullable
20      private final String changedFrom;
21  
22      public AuditChangedValue(final String fieldName, @Nullable final String changedTo, @Nullable final String changedFrom) {
23          this.fieldName = fieldName;
24          this.changedTo = changedTo;
25          this.changedFrom = changedFrom;
26      }
27  
28      public String getFieldName() {
29          return fieldName;
30      }
31  
32      @Nullable
33      public String getChangedTo() {
34          return changedTo;
35      }
36  
37      @Nullable
38      public String getChangedFrom() {
39          return changedFrom;
40      }
41  
42      protected Objects.ToStringHelper getToStringHelper() {
43          return Objects.toStringHelper(this).
44                  add("fieldName", fieldName).
45                  add("changedFrom", changedFrom).
46                  add("changedTo", changedTo);
47      }
48  
49      @Override
50      public boolean equals(final Object o) {
51          if (o instanceof AuditChangedValue) {
52              final AuditChangedValue that = (AuditChangedValue) o;
53              return Objects.equal(this.fieldName, that.fieldName)
54                      && Objects.equal(this.changedFrom, that.changedFrom)
55                      && Objects.equal(this.changedTo, that.changedTo);
56          }
57          return false;
58      }
59  
60      @Override
61      public int hashCode() {
62          return Objects.hashCode(fieldName, changedFrom, changedTo);
63      }
64  
65  }