001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml; 006 007import java.util.List; 008 009/** 010 * Represents a use case used in the "front end" of an application. 011 * 012 * Metafacade interface to be used by AndroMDA cartridges. 013 */ 014public interface FrontEndUseCase 015 extends UseCaseFacade 016{ 017 /** 018 * Indicates the metafacade type (used for metafacade mappings). 019 * 020 * @return boolean always <code>true</code> 021 */ 022 public boolean isFrontEndUseCaseMetaType(); 023 024 /** 025 * The actions for this use-case. This will include the initial action to start the use-case. 026 * @return List<FrontEndAction> 027 */ 028 public List<FrontEndAction> getActions(); 029 030 /** 031 * Returns the activity graph describing this use-case in more detail. 032 * @return FrontEndActivityGraph 033 */ 034 public FrontEndActivityGraph getActivityGraph(); 035 036 /** 037 * All roles that directly or indirectly related to any "front-end" use cases. 038 * @return List<Role> 039 */ 040 public List<Role> getAllRoles(); 041 042 /** 043 * Returns all struts use-cases in this "front end" application. 044 * @return List<FrontEndUseCase> 045 */ 046 public List<FrontEndUseCase> getAllUseCases(); 047 048 /** 049 * Returns the controller for this use-case. 050 * @return FrontEndController 051 */ 052 public FrontEndController getController(); 053 054 /** 055 * The first view of this use case, this may actually return a view of another use case if the 056 * first is found by traveling through the final state. 057 * @return FrontEndView 058 */ 059 public FrontEndView getInitialView(); 060 061 /** 062 * The final states linking to this use case 063 * @return List<FrontEndFinalState> 064 */ 065 public List<FrontEndFinalState> getReferencingFinalStates(); 066 067 /** 068 * Returns all roles that are directly and indirectly associated to this use-case. 069 * @return List<Role> 070 */ 071 public List<Role> getRoles(); 072 073 /** 074 * The variables for all views in this use-case. A parameter qualifies to be a variable when it 075 * explicitely and directly receives it via an action. 076 * @return List<FrontEndParameter> 077 */ 078 public List<FrontEndParameter> getViewVariables(); 079 080 /** 081 * All views that are part of this use case. 082 * @return List<FrontEndView> 083 */ 084 public List<FrontEndView> getViews(); 085 086 /** 087 * True if this use-case is the entry point to the front end. 088 * @return boolean 089 */ 090 public boolean isEntryUseCase(); 091 092 /** 093 * Indicates if this use case is "secured". This is true when there is at least one role 094 * associated to it. 095 * @return boolean 096 */ 097 public boolean isSecured(); 098}