001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.jsf.metafacades;
006
007import java.util.List;
008import java.util.Map;
009import org.andromda.metafacades.uml.FrontEndAction;
010
011/**
012 * Represents an action taken during a "front-end" event execution on a JSF application.
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface JSFAction
017    extends FrontEndAction
018{
019    /**
020     * Indicates the metafacade type (used for metafacade mappings).
021     *
022     * @return boolean always <code>true</code>
023     */
024    public boolean isJSFActionMetaType();
025
026    /**
027     * The name of the action class that executes this action.
028     * @return String
029     */
030    public String getActionClassName();
031
032    /**
033     * The name of the action on the controller that executions this action.
034     * @return String
035     */
036    public String getControllerAction();
037
038    /**
039     * A resource message key suited for the action''s documentation.
040     * @return String
041     */
042    public String getDocumentationKey();
043
044    /**
045     * The resource messsage value suited for the action''s documentation.
046     * @return String
047     */
048    public String getDocumentationValue();
049
050    /**
051     * The name of the bean under which the form is stored.
052     * @return String
053     */
054    public String getFormBeanName();
055
056    /**
057     * The signature of the accessor method that returns the form implementation instance.
058     * @return String
059     */
060    public String getFormImplementationGetter();
061
062    /**
063     * A comma separated list of all the form interfaces which the form implementation implements.
064     * @return String
065     */
066    public String getFormImplementationInterfaceList();
067
068    /**
069     * The name of the form implementation.
070     * @return String
071     */
072    public String getFormImplementationName();
073
074    /**
075     * The key that stores the form in which information is passed from one action to another.
076     * @return String
077     */
078    public String getFormKey();
079
080    /**
081     * The scope of the JSF form (request, session,application,etc).
082     * @return String
083     */
084    public String getFormScope();
085
086    /**
087     * The calcuated serial version UID for this action's form.
088     * @return String
089     */
090    public String getFormSerialVersionUID();
091
092    /**
093     * The name that corresponds to the from-outcome in an navigational rule.
094     * @return String
095     */
096    public String getFromOutcome();
097
098    /**
099     * The fully qualified name of the action class that execute this action.
100     * @return String
101     */
102    public String getFullyQualifiedActionClassName();
103
104    /**
105     * The fully qualified path to the action class that execute this action.
106     * @return String
107     */
108    public String getFullyQualifiedActionClassPath();
109
110    /**
111     * The fully qualified name of the form implementation.
112     * @return String
113     */
114    public String getFullyQualifiedFormImplementationName();
115
116    /**
117     * The fully qualified path of the form implementation.
118     * @return String
119     */
120    public String getFullyQualifiedFormImplementationPath();
121
122    /**
123     * All parameters that are of hidden input type.
124     * @return List<JSFParameter>
125     */
126    public List<JSFParameter> getHiddenParameters();
127
128    /**
129     * The default resource message key for this action.
130     * @return String
131     */
132    public String getMessageKey();
133
134    /**
135     * The path to this action.
136     * @return String
137     */
138    public String getPath();
139
140    /**
141     * The path's root.
142     * @return String
143     */
144    public String getPathRoot();
145
146    /**
147     * Messages used to indicate successful execution.
148     * @return Map
149     */
150    public Map getSuccessMessages();
151
152    /**
153     * The name of the column targetted by this action.
154     * @return String
155     */
156    public String getTableLinkColumnName();
157
158    /**
159     * The name of the table link specified for this action.
160     * @return String
161     */
162    public String getTableLinkName();
163
164    /**
165     * If the action is a table link then this property represents the table to which is being
166     * linked.
167     * @return JSFParameter
168     */
169    public JSFParameter getTableLinkParameter();
170
171    /**
172     * The name of the method to be executed when this action is triggered.
173     * @return String
174     */
175    public String getTriggerMethodName();
176
177    /**
178     * The name of the trigger that triggers that action.
179     * @return String
180     */
181    public String getTriggerName();
182
183    /**
184     * The path to the view fragment corresponding to this action
185     * @return String
186     */
187    public String getViewFragmentPath();
188
189    /**
190     * Any messages used to indicate a warning.
191     * @return Map
192     */
193    public Map getWarningMessages();
194
195    /**
196     * Indicates whether or not a final state is the target of this action.
197     * @return boolean
198     */
199    public boolean isFinalStateTarget();
200
201    /**
202     * Whether or not the entire form should be reset (all action parameters on the form).
203     * @return boolean
204     */
205    public boolean isFormReset();
206
207    /**
208     * Indicates if at least one parameter on the form requires being reset.
209     * @return boolean
210     */
211    public boolean isFormResetRequired();
212
213    /**
214     * Indicates whether or not this action is represented by clicking on a hyperlink.
215     * @return boolean
216     */
217    public boolean isHyperlink();
218
219    /**
220     * TODO: Model Documentation for
221     * org.andromda.cartridges.jsf.metafacades.JSFAction.needsFileUpload
222     * @return boolean
223     */
224    public boolean isNeedsFileUpload();
225
226    /**
227     * Indicates if this action forwards to a popup (this is determed when the targetted view is a
228     * popup).
229     * @return boolean
230     */
231    public boolean isPopup();
232
233    /**
234     * Indicates whether or not the values passed along with this action can be reset or not.
235     * @return boolean
236     */
237    public boolean isResettable();
238
239    /**
240     * Indicates whether or not any success messags are present.
241     * @return boolean
242     */
243    public boolean isSuccessMessagesPresent();
244
245    /**
246     * Indicates that this action works on all rows of the table from the table link relation.
247     * @return boolean
248     */
249    public boolean isTableAction();
250
251    /**
252     * Indicates if a table link name has been specified and it properly targets a table
253     * page-variable from the input page.
254     * @return boolean
255     */
256    public boolean isTableLink();
257
258    /**
259     * Indicates whether or not at least one parameter on this action requires validation.
260     * @return boolean
261     */
262    public boolean isValidationRequired();
263
264    /**
265     * Whether or not any warning messages are present.
266     * @return boolean
267     */
268    public boolean isWarningMessagesPresent();
269}