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.dem.interfaces;
7   
8   import java.util.List;
9   import java.util.Map;
10  
11  import pt.digitalis.dif.dem.objects.EventType;
12  import pt.digitalis.dif.dem.objects.ViewObject;
13  import pt.digitalis.dif.dem.objects.parameters.IParameters;
14  
15  /**
16   * This interface represents a Stage entity on the DEM.
17   * <p>
18   * A Stage is related to a Service.
19   * 
20   * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
21   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
22   * @created 2007/07/12
23   */
24  public interface IStage extends IEntity, ICallback, IRegistrable {
25  
26      /**
27       * Returns the default error Stage defined for this Stage
28       * 
29       * @return the default error Stage
30       */
31      public IStage getDefaultErrorStage();
32  
33      /**
34       * Returns the default error view defined for this Stage.
35       * 
36       * @return the default error view
37       */
38      public ViewObject getDefaultErrorView();
39  
40      /**
41       * Returns the default view.
42       * 
43       * @return the default view
44       */
45      public ViewObject getDefaultView();
46  
47      /**
48       * Returns the list of all the Stages submit handlers.
49       * 
50       * @return the list
51       */
52      public Map<EventType, List<String>> getEventHandlers();
53  
54      /**
55       * Returns the list of all the error Stages injected in this Stage.
56       * 
57       * @return the list of all the injected Stages
58       */
59      public Map<String, String> getInjectedErrorStages();
60  
61      /**
62       * Returns the list of all the error views injected in this Stage.
63       * 
64       * @return the list of all the injected ViewObject
65       */
66      public Map<String, ViewObject> getInjectedErrorViews();
67  
68      /**
69       * Returns the list of all the Stages injected in this Stage.
70       * 
71       * @return the list of all the injected Stages
72       */
73      public List<String> getInjectedStages();
74  
75      /**
76       * Returns the list of all the views injected in this Stage.
77       * 
78       * @return the list of all the injected ViewObject
79       */
80      public List<ViewObject> getInjectedViews();
81  
82      /**
83       * Return an instance of the stage for execution
84       * 
85       * @return the stage instance
86       */
87      public IStageInstance getInstance();
88  
89      /**
90       * Returns a message associated with a given ID
91       * 
92       * @param language
93       *            the language to get the messages in
94       * @param messageID
95       *            the message ID
96       * @return the message with the given id
97       */
98      public String getMessageForLanguage(String language, String messageID);
99  
100     /**
101      * Returns all messages associated with the Entity.
102      * 
103      * @param language
104      *            the language to get the messages in
105      * @return a map with all the messages related to the Entity
106      */
107     public Map<String, String> getMessagesForLanguage(String language);
108 
109     /**
110      * @return the stage id of the stage that the present one overrides. Null otherwise.
111      */
112     public String getOverridesStageID();
113 
114     /**
115      * Returns the parameters for the current stage
116      * 
117      * @return the parameters
118      */
119     public IParameters getParameters();
120 
121     /**
122      * Returns the Stage service.
123      * 
124      * @return the Stage service
125      */
126     public IService getService();
127 
128     /**
129      * Obtains the original stage class name
130      * 
131      * @return the class name
132      */
133     public String getStageInstanceClassName();
134 
135     /**
136      * Defines if the stage has authentication.
137      * 
138      * @return T if the stage has , F otherwise
139      */
140     public boolean hasAuthentication();
141 
142     /**
143      * Registers if the stage has injected the authentication errors. If so the dispatcher will not fail on
144      * authentication errors and instead inject them so the stage may process them.
145      * 
146      * @return T if the stage has injected the authentication errors onto an attribute
147      */
148     public boolean hasAuthenticationErrorInjection();
149 
150     /**
151      * Defines if the stage has authorization.
152      * 
153      * @return T if the stage has , F otherwise
154      */
155     public boolean hasAuthorization();
156 
157     /**
158      * @return T if any attribute or method in annotated with {@link com.google.inject.Inject}
159      */
160     public boolean hasInjectedContributions();
161 
162     /**
163      * Registers if the stage has injected the parameter errors. If not the framework must provide extra reporting of
164      * the errors. Else it is delegated to the business stage implementation.
165      * 
166      * @return T if the stage has injected the errors onto an attribute
167      */
168     public boolean hasParameterErrorInjection();
169 
170     /**
171      * Checks if the current form has a validation logic handler for the given form
172      * 
173      * @param formName
174      *            the form name
175      * @return T if present
176      */
177     public boolean hasValidationLogicForForm(String formName);
178 }