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   {
10      private final Serializable[] arguments;
11      private String key;
12  
13      public DefaultMessage(String key, Serializable... arguments)
14      {
15          this.key = key;
16          this.arguments = arguments;
17      }
18  
19      public Serializable[] getArguments()
20      {
21          return arguments;
22      }
23  
24      public String getKey()
25      {
26          return key;
27      }
28  
29      @Override
30      public String toString()
31      {
32          StringBuilder builder = new StringBuilder();
33          builder.append(key);
34          builder.append(": ");
35          for (Serializable argument : arguments)
36          {
37              builder.append(argument);
38              builder.append(",");
39          }
40          return builder.toString();
41      }
42  
43      @Override
44      public boolean equals(final Object o)
45      {
46          if (this == o) { return true; }
47          if (!(o instanceof DefaultMessage)) { return false; }
48  
49          final DefaultMessage that = (DefaultMessage) o;
50  
51          if (!Arrays.equals(arguments, that.arguments)) { return false; }
52          if (key != null ? !key.equals(that.key) : that.key != null) { return false; }
53  
54          return true;
55      }
56  
57      @Override
58      public int hashCode()
59      {
60          int result = arguments != null ? Arrays.hashCode(arguments) : 0;
61          result = 31 * result + (key != null ? key.hashCode() : 0);
62          return result;
63      }
64  }
65