View Javadoc
1   package com.atlassian.sal.core.message;
2   
3   import com.atlassian.sal.api.message.Message;
4   
5   import java.io.Serializable;
6   import java.util.Arrays;
7   
8   public class DefaultMessage implements Message {
9       private final Serializable[] arguments;
10      private String key;
11  
12      public DefaultMessage(String key, Serializable... arguments) {
13          this.key = key;
14          this.arguments = arguments;
15      }
16  
17      public Serializable[] getArguments() {
18          return arguments;
19      }
20  
21      public String getKey() {
22          return key;
23      }
24  
25      @Override
26      public String toString() {
27          StringBuilder builder = new StringBuilder();
28          builder.append(key);
29          builder.append(": ");
30          for (Serializable argument : arguments) {
31              builder.append(argument);
32              builder.append(",");
33          }
34          return builder.toString();
35      }
36  
37      @Override
38      public boolean equals(final Object o) {
39          if (this == o) {
40              return true;
41          }
42          if (!(o instanceof DefaultMessage)) {
43              return false;
44          }
45  
46          final DefaultMessage that = (DefaultMessage) o;
47  
48          if (!Arrays.equals(arguments, that.arguments)) {
49              return false;
50          }
51          if (key != null ? !key.equals(that.key) : that.key != null) {
52              return false;
53          }
54  
55          return true;
56      }
57  
58      @Override
59      public int hashCode() {
60          int result = arguments != null ? Arrays.hashCode(arguments) : 0;
61          result = 31 * result + (key != null ? key.hashCode() : 0);
62          return result;
63      }
64  }
65