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.Collection; 008import java.util.List; 009import java.util.Map; 010import org.andromda.metafacades.uml.FrontEndUseCase; 011 012/** 013 * Represents a JSF use case. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface JSFUseCase 018 extends FrontEndUseCase 019{ 020 /** 021 * Indicates the metafacade type (used for metafacade mappings). 022 * 023 * @return boolean always <code>true</code> 024 */ 025 public boolean isJSFUseCaseMetaType(); 026 027 /** 028 * The name of the action class that forwards to this use case. 029 * @return String 030 */ 031 public String getActionClassName(); 032 033 /** 034 * All forwards in this use case that are represented as actions. 035 * @return List<JSFAction> 036 */ 037 public List<JSFAction> getActionForwards(); 038 039 /** 040 * TODO: Model Documentation for 041 * JSFUseCase.getActionRoles 042 * @return String 043 */ 044 public String getActionRoles(); 045 046 /** 047 * Constains all forwards includes regular FrontEndForwards and all actiion forwards. 048 * @return List 049 */ 050 public List getAllForwards(); 051 052 /** 053 * A map with keys sorted alphabetically, normalized across all different use-cases, views, etc. 054 * @return Map 055 */ 056 public Map getAllMessages(); 057 058 /** 059 * All views for the application (not just the ones belonging to this use case). 060 * @return Collection<JSFView> 061 */ 062 public Collection<JSFView> getAllViews(); 063 064 /** 065 * The name of the action on the controller that executions this use case. 066 * @return String 067 */ 068 public String getControllerAction(); 069 070 /** 071 * The key under which to store the action form passed along in this in this use-case. 072 * @return String 073 */ 074 public String getFormKey(); 075 076 /** 077 * The name that will cause a forward to use case. 078 * @return String 079 */ 080 public String getForwardName(); 081 082 /** 083 * All forwards contained in this use case. 084 * @return List<JSFForward> 085 */ 086 public List<JSFForward> getForwards(); 087 088 /** 089 * The name of the class that stores all the forwards paths. 090 * @return String 091 */ 092 public String getForwardsClassName(); 093 094 /** 095 * The fully qualified name of the action class that forwards to this use case. 096 * @return String 097 */ 098 public String getFullyQualifiedActionClassName(); 099 100 /** 101 * The fully qualified path to the action class that forwards to this use case. 102 * @return String 103 */ 104 public String getFullyQualifiedActionClassPath(); 105 106 /** 107 * The path of the initial target going into this use case. 108 * @return String 109 */ 110 public String getInitialTargetPath(); 111 112 /** 113 * TODO: Model Documentation for 114 * JSFUseCase.getNavigationChildren 115 * @return Collection 116 */ 117 public Collection getNavigationChildren(); 118 119 /** 120 * TODO: Model Documentation for 121 * JSFUseCase.getNavigationParents 122 * @return Collection 123 */ 124 public Collection getNavigationParents(); 125 126 /** 127 * Retrieves all navigation rules for the faces-config.xml 128 * @return Collection 129 */ 130 public Collection getNavigationRules(); 131 132 /** 133 * The path to which this use case points. 134 * @return String 135 */ 136 public String getPath(); 137 138 /** 139 * The root path for this use case (this is the path the directory containing the use case's 140 * resources). 141 * @return String 142 */ 143 public String getPathRoot(); 144 145 /** 146 * The forward name for the portlet 'edit' page. 147 * @return String 148 */ 149 public String getPortletEditForwardName(); 150 151 /** 152 * The path to the portlet 'edit' page. 153 * @return String 154 */ 155 public String getPortletEditPath(); 156 157 /** 158 * The forward name for the portlet 'help' page. 159 * @return String 160 */ 161 public String getPortletHelpForwardName(); 162 163 /** 164 * The path to the 'help' page of the portlet. 165 * @return String 166 */ 167 public String getPortletHelpPath(); 168 169 /** 170 * The forward name for the portlet 'view' page. 171 * @return String 172 */ 173 public String getPortletViewForwardName(); 174 175 /** 176 * The path to the portlet 'view' page. 177 * @return String 178 */ 179 public String getPortletViewPath(); 180 181 /** 182 * Any portlet preferences associated to this use case. 183 * @return JSFPortletPreferences 184 */ 185 public JSFPortletPreferences getPreferences(); 186 187 /** 188 * All use cases that are labled as registration use cases. 189 * @return List<JSFUseCase> 190 */ 191 public List<JSFUseCase> getRegistrationUseCases(); 192 193 /** 194 * The title message key for this use-case. 195 * @return String 196 */ 197 public String getTitleKey(); 198 199 /** 200 * The title message value for this use-case. 201 * @return String 202 */ 203 public String getTitleValue(); 204 205 /** 206 * Indicates that at least one client/server parameter found in the collection of existing 207 * use-cases requires validation. 208 * @return boolean 209 */ 210 public boolean isApplicationValidationRequired(); 211 212 /** 213 * Indicates whether or not the initial target of this use case is a view or not. 214 * @return boolean 215 */ 216 public boolean isInitialTargetView(); 217 218 /** 219 * Indicates whether or not this is a front-end registration use case. Only one use case can be 220 * labeled as a 'registration' use case. 221 * @return boolean 222 */ 223 public boolean isRegistrationUseCase(); 224 225 /** 226 * Indicates whether or not at least one parameter in this use-case require validation. 227 * @return boolean 228 */ 229 public boolean isValidationRequired(); 230 231 /** 232 * Indicates whether or not at least one view in the use case has the same name as this use 233 * case. 234 * @return boolean 235 */ 236 public boolean isViewHasNameOfUseCase(); 237}