View Javadoc

1   package br.com.ibnetwork.guara.rundata;
2   
3   import br.com.ibnetwork.guara.modules.Module;
4   
5   public class Outcome
6   {
7       public static final String ERROR_CODE = "ERROR";
8       
9       public static final String UNKNOWN_CODE = "UNKNOWN";
10      
11      public static final String SUCCESS_CODE = "SUCCESS";
12      
13      public static Outcome UNKNOWN = new Outcome(UNKNOWN_CODE,null,null);
14      
15      private String code;
16      
17      private Module source;
18      
19      private String method;
20      
21      private Outcome(String code, Module source, String method)
22      {
23          this.code = code;
24          this.source = source;
25          this.method = method; 
26      }
27      
28      public String getCode() 
29      {
30          return code;
31      }
32      
33      public Module getSource()
34      {
35          return source;
36      }
37  
38      public String getMethod()
39      {
40          return method;
41      }
42  
43      public static Outcome unknown(String code, Module source) {
44          return new Outcome(code,source,null);
45      }
46  
47      public static Outcome unknown(String code, Module source, String method) {
48          return new Outcome(code,source,method);
49      }
50  
51      public static Outcome error(Module source) {
52          return new Outcome(ERROR_CODE,source,null);
53      }
54  
55      public static Outcome error(Module source, String method) {
56          return new Outcome(ERROR_CODE,source,method);
57      }
58  
59      public static Outcome success(Module source) {
60          return new Outcome(SUCCESS_CODE,source,null);
61      }
62  
63      public static Outcome success(Module source, String method) {
64          return new Outcome(SUCCESS_CODE,source,method);
65      }
66      
67      public boolean equals(Object other)
68      {
69          if(other == null) return false;
70          if(this == other) return true;
71          if(!(other instanceof Outcome)) return false;
72          Outcome obj = (Outcome) other;
73          return obj.getSource() == source
74              && (code == null ? obj.getCode() == null : code.equals(obj.getCode())) 
75              && (method == null ? obj.getMethod() == null : method.equals(obj.getMethod())); 
76      }
77      
78      public String toString()
79      {
80          return "Outcome: code("+code+") source("+source+") method("+method+")";
81      }
82  }