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 org.andromda.metafacades.uml.FrontEndView;
009
010/**
011 * Represents a JSF view for a front-end application.
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface JSFView
016    extends FrontEndView
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isJSFViewMetaType();
024
025    /**
026     * All those forwards that are actions.
027     * @return List<JSFAction>
028     */
029    public List<JSFAction> getActionForwards();
030
031    /**
032     * All variables that have backing value.
033     * @return List<JSFParameter>
034     */
035    public List<JSFParameter> getBackingValueVariables();
036
037    /**
038     * A resource message key suited for the page's documentation.
039     * @return String
040     */
041    public String getDocumentationKey();
042
043    /**
044     * A resource message value suited for the view's documentation.
045     * @return String
046     */
047    public String getDocumentationValue();
048
049    /**
050     * All actions that have forms associated with them.
051     * @return List<JSFAction>
052     */
053    public List<JSFAction> getFormActions();
054
055    /**
056     * The key that stores the form in which information is passed from one action to another.
057     * @return String
058     */
059    public String getFormKey();
060
061    /**
062     * Gets the forwards which can be targgeted from this view.
063     * @return List<JSFForward>
064     */
065    public List<JSFForward> getForwards();
066
067    /**
068     * The name that corresponds to the from-outcome in an navigational rule.
069     * @return String
070     */
071    public String getFromOutcome();
072
073    /**
074     * The fully qualified name of this view's form populator.
075     * @return String
076     */
077    public String getFullyQualifiedPopulator();
078
079    /**
080     * The default resource message key for this view.
081     * @return String
082     */
083    public String getMessageKey();
084
085    /**
086     * A displayable version of this view's name.
087     * @return String
088     */
089    public String getMessageValue();
090
091    /**
092     * The full path of the view resources (i.e. the JSP page).
093     * @return String
094     */
095    public String getPath();
096
097    /**
098     * The name of the form populator for this view.
099     * @return String
100     */
101    public String getPopulator();
102
103    /**
104     * The path to the form populator.
105     * @return String
106     */
107    public String getPopulatorPath();
108
109    /**
110     * A resource message key suited for the view's title.
111     * @return String
112     */
113    public String getTitleKey();
114
115    /**
116     * A default resource message value suited for the page's title.
117     * @return String
118     */
119    public String getTitleValue();
120
121    /**
122     * Indicates whether or not this view has the same name as the use case in which it is
123     * contained.
124     * @return boolean
125     */
126    public boolean isHasNameOfUseCase();
127
128    /**
129     * TODO: Model Documentation for org.andromda.cartridges.jsf.metafacades.JSFView.needsFileUpload
130     * @return boolean
131     */
132    public boolean isNeedsFileUpload();
133
134    /**
135     * Indicates whether or not any non-table view variables are present in this view.
136     * @return boolean
137     */
138    public boolean isNonTableVariablesPresent();
139
140    /**
141     * Indicates if a populator is required for this view.
142     * @return boolean
143     */
144    public boolean isPopulatorRequired();
145
146    /**
147     * Indicates if this view represents a popup.
148     * @return boolean
149     */
150    public boolean isPopup();
151
152    /**
153     * Indicates whether or not at least one parameter of an outgoing action in this view requires
154     * validation.
155     * @return boolean
156     */
157    public boolean isValidationRequired();
158}