001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.bpm4struts.metafacades;
006
007import java.util.List;
008import org.andromda.metafacades.uml.FrontEndView;
009
010/**
011 * A Struts JSP represents a page in the web application. A page possibly contains several forms and
012 * triggers (either buttons or hyperlinks) that call actions.
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface StrutsJsp
017    extends StrutsActionState, FrontEndView
018{
019    /**
020     * Indicates the metafacade type (used for metafacade mappings).
021     *
022     * @return boolean always <code>true</code>
023     */
024    public boolean isStrutsJspMetaType();
025
026    /**
027     * The name of the file containing specific styles for this page only.
028     * @return String
029     */
030    public String getCssFileName();
031
032    /**
033     * A resource message key suited for the page's documentation.
034     * @return String
035     */
036    public String getDocumentationKey();
037
038    /**
039     * A resource message value suited for the page's documentation.
040     * @return String
041     */
042    public String getDocumentationValue();
043
044    /**
045     * The full path to this JSP page. the returned String does not have a suffix such as '.jsp'.
046     * @return String
047     */
048    public String getFullPath();
049
050    /**
051     * Returns all actions that possibly result in returning this page.
052     * @return List<StrutsAction>
053     */
054    public List<StrutsAction> getIncomingActions();
055
056    /**
057     * The default resource message key.
058     * @return String
059     */
060    public String getMessageKey();
061
062    /**
063     * A displayable version of this page's name.
064     * @return String
065     */
066    public String getMessageValue();
067
068    /**
069     * The collection of outgoing forwards that are not actions.
070     * @return List<StrutsForward>
071     */
072    public List<StrutsForward> getNonActionForwards();
073
074    /**
075     * The full path to this JSP's online help action. The returned String does not have a suffix
076     * such as '.do'.
077     * @return String
078     */
079    public String getOnlineHelpActionPath();
080
081    /**
082     * The key to lookup the online help documentation. This documentation is gathered from the
083     * documentation entered by the user, as well as analyzing the model.
084     * @return String
085     */
086    public String getOnlineHelpKey();
087
088    /**
089     * The full path to this JSP's online help page. The returned String does not have a suffix such
090     * as '.jsp'.
091     * @return String
092     */
093    public String getOnlineHelpPagePath();
094
095    /**
096     * The online help documentation. This documentation is gathered from the documentation entered
097     * by the user, as well as analyzing the model. The format is HTML without any style.
098     * @return String
099     */
100    public String getOnlineHelpValue();
101
102    /**
103     * Returns all those variables that will be present as variables in the target page. These are
104     * the trigger parameters on the incoming transitions.
105     * @return List<StrutsParameter>
106     */
107    public List<StrutsParameter> getPageVariables();
108
109    /**
110     * A resource message key suited for the page'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     * True if this JSP contains a date field which requires a calendar popup.
123     * @return boolean
124     */
125    public boolean isCalendarRequired();
126
127    /**
128     * True if any of the actions have a parameter of type Date.
129     * @return boolean
130     */
131    public boolean isDateFieldPresent();
132
133    /**
134     * True if at least one client/server parameter requires validation.
135     * @return boolean
136     */
137    public boolean isValidationRequired();
138}