001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.jsf2.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     * TODO: Model Documentation for
075     * org.andromda.cartridges.jsf2.metafacades.JSFView.fullyQualifiedPageObjectClassName
076     * @return String
077     */
078    public String getFullyQualifiedPageObjectClassName();
079
080    /**
081     * TODO: Model Documentation for
082     * org.andromda.cartridges.jsf2.metafacades.JSFView.fullyQualifiedPageObjectClassPath
083     * @return String
084     */
085    public String getFullyQualifiedPageObjectClassPath();
086
087    /**
088     * The fully qualified name of this view's form populator.
089     * @return String
090     */
091    public String getFullyQualifiedPopulator();
092
093    /**
094     * The default resource message key for this view.
095     * @return String
096     */
097    public String getMessageKey();
098
099    /**
100     * A displayable version of this view's name.
101     * @return String
102     */
103    public String getMessageValue();
104
105    /**
106     * TODO: Model Documentation for
107     * org.andromda.cartridges.jsf2.metafacades.JSFView.pageObjectBeanName
108     * @return String
109     */
110    public String getPageObjectBeanName();
111
112    /**
113     * TODO: Model Documentation for
114     * org.andromda.cartridges.jsf2.metafacades.JSFView.pageObjectClassName
115     * @return String
116     */
117    public String getPageObjectClassName();
118
119    /**
120     * The full path of the view resources (i.e. the JSP page).
121     * @return String
122     */
123    public String getPath();
124
125    /**
126     * The name of the form populator for this view.
127     * @return String
128     */
129    public String getPopulator();
130
131    /**
132     * The path to the form populator.
133     * @return String
134     */
135    public String getPopulatorPath();
136
137    /**
138     * A resource message key suited for the view's title.
139     * @return String
140     */
141    public String getTitleKey();
142
143    /**
144     * A default resource message value suited for the page's title.
145     * @return String
146     */
147    public String getTitleValue();
148
149    /**
150     * Indicates whether or not this view has the same name as the use case in which it is
151     * contained.
152     * @return boolean
153     */
154    public boolean isHasNameOfUseCase();
155
156    /**
157     * TODO: Model Documentation for
158     * org.andromda.cartridges.jsf2.metafacades.JSFView.needsFileUpload
159     * @return boolean
160     */
161    public boolean isNeedsFileUpload();
162
163    /**
164     * Indicates whether or not any non-table view variables are present in this view.
165     * @return boolean
166     */
167    public boolean isNonTableVariablesPresent();
168
169    /**
170     * Indicates if a populator is required for this view.
171     * @return boolean
172     */
173    public boolean isPopulatorRequired();
174
175    /**
176     * Indicates if this view represents a popup.
177     * @return boolean
178     */
179    public boolean isPopup();
180
181    /**
182     * Indicates whether or not at least one parameter of an outgoing action in this view requires
183     * validation.
184     * @return boolean
185     */
186    public boolean isValidationRequired();
187}