View Javadoc

1   /**
2    * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
3    * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
4    * http://www.digitalis.pt
5    */
6   package pt.digitalis.dif.controller.objects;
7   
8   import java.util.HashMap;
9   import java.util.Map;
10  
11  import pt.digitalis.dif.controller.interfaces.IDIFRequest;
12  import pt.digitalis.dif.controller.interfaces.IDIFResponse;
13  import pt.digitalis.dif.dem.interfaces.IStageInstance;
14  import pt.digitalis.dif.dem.objects.ViewObject;
15  import pt.digitalis.dif.utils.ObjectFormatter;
16  
17  /**
18   * Implementation for {@link IDIFResponse}.
19   * 
20   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
21   * @author Luis Pinto <a href="mailto:lpinto@digitalis.pt">lpinto@digitalis.pt</a>
22   * @created 2007/03/16
23   */
24  public class DIFResponse implements IDIFResponse {
25  
26      /** the originating request */
27      private IDIFRequest request = null;
28  
29      /** the stage result message, if any */
30      private ResultMessage resultMessage = null;
31  
32      /** the executed stage instance */
33      private IStageInstance stageInstance = null;
34  
35      /** The processing result set. */
36      private Map<String, Object> stageResults = new HashMap<String, Object>();
37  
38      /**
39       * the ViewObject Object
40       */
41      private ViewObject theView = null;
42  
43      /**
44       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#addStageResult(String, Object)
45       */
46      public void addStageResult(String resultName, Object resultValue)
47      {
48          this.stageResults.put(resultName, resultValue);
49      }
50  
51      /**
52       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getRequest()
53       */
54      public IDIFRequest getRequest()
55      {
56          return request;
57      }
58  
59      /**
60       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getResultMessage()
61       */
62      public ResultMessage getResultMessage()
63      {
64          return resultMessage;
65      }
66  
67      /**
68       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getStageInstance()
69       */
70      public IStageInstance getStageInstance()
71      {
72          return stageInstance;
73      }
74  
75      /**
76       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getStageResult(String)
77       */
78      public Object getStageResult(String resultName)
79      {
80          return this.stageResults.get(resultName);
81      }
82  
83      /**
84       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getStageResults()
85       */
86      public Map<String, Object> getStageResults()
87      {
88          return this.stageResults;
89      }
90  
91      /**
92       * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#getView()
93       */
94      public ViewObject getView()
95      {
96          return theView;
97      }
98  
99      /**
100      * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#setRequest(pt.digitalis.dif.controller.interfaces.IDIFRequest)
101      */
102     public void setRequest(IDIFRequest request)
103     {
104         this.request = request;
105     }
106 
107     /**
108      * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#setResultMessage(pt.digitalis.dif.controller.objects.ResultMessage)
109      */
110     public void setResultMessage(ResultMessage resultMessage)
111     {
112         this.resultMessage = resultMessage;
113     }
114 
115     /**
116      * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#setStageInstance(pt.digitalis.dif.dem.interfaces.IStageInstance)
117      */
118     public void setStageInstance(IStageInstance stageInstance)
119     {
120         this.stageInstance = stageInstance;
121     }
122 
123     /**
124      * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#setStageResults(Map)
125      */
126     public void setStageResults(Map<String, Object> map)
127     {
128         stageResults.putAll(map);
129     }
130 
131     /**
132      * @see pt.digitalis.dif.controller.interfaces.IDIFResponse#setView(ViewObject)
133      */
134     public void setView(ViewObject newView)
135     {
136         this.theView = newView;
137     }
138 
139     /**
140      * Prints the Response in a human-readable form. Overrides java.lang.Object#toString().
141      * 
142      * @see java.lang.Object#toString()
143      */
144     @Override
145     public String toString()
146     {
147         ObjectFormatter formatter = new ObjectFormatter();
148         formatter.addItem("View", theView);
149         formatter.addItem("Stage Results", stageResults);
150 
151         return formatter.getFormatedObject();
152     }
153 }