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 "front-end" action. An action is some action that is taken when a front-end even 011 * occurs. 012 * 013 * Metafacade interface to be used by AndroMDA cartridges. 014 */ 015public interface FrontEndAction 016 extends FrontEndForward 017{ 018 /** 019 * Indicates the metafacade type (used for metafacade mappings). 020 * 021 * @return boolean always <code>true</code> 022 */ 023 public boolean isFrontEndActionMetaType(); 024 025 /** 026 * Finds the parameter on this action having the given name, if no parameter is found, null is 027 * returned instead. 028 * @param name String 029 * @return ParameterFacade 030 */ 031 public ParameterFacade findParameter(String name); 032 033 /** 034 * All action forwards for this foward. Each action forward either calls a view or another 035 * use-case (which is essentially an action). 036 * @return List<FrontEndForward> 037 */ 038 public List<FrontEndForward> getActionForwards(); 039 040 /** 041 * All action states visited by this action. 042 * @return List<FrontEndActionState> 043 */ 044 public List<FrontEndActionState> getActionStates(); 045 046 /** 047 * The controller that will handle the execution of this front-end action. This controller is 048 * set as the context of the activity graph (and therefore also of the use-case). 049 * @return FrontEndController 050 */ 051 public FrontEndController getController(); 052 053 /** 054 * All the transitions coming out of decision points. These transitions should all carry guards. 055 * @return List<FrontEndForward> 056 */ 057 public List<FrontEndForward> getDecisionTransitions(); 058 059 /** 060 * The controller operations to which this action defers, the order is preserved. 061 * @return List<FrontEndControllerOperation> 062 */ 063 public List<FrontEndControllerOperation> getDeferredOperations(); 064 065 /** 066 * Form fields for this action. Form fields are those parameters that can be altered by the user 067 * on a corresponding view at runtime. 068 * @return List<FrontEndParameter> 069 */ 070 public List<FrontEndParameter> getFormFields(); 071 072 /** 073 * The StateVertex (FrontEndView or PseudostateFacade) on which this action can be triggered. 074 * @return StateVertexFacade 075 */ 076 public StateVertexFacade getInput(); 077 078 /** 079 * All parameters sent by this "front-end" action. 080 * @return List<FrontEndParameter> 081 */ 082 public List<FrontEndParameter> getParameters(); 083 084 /** 085 * All views that can be possibly targetted by triggering this action. 086 * @return List<FrontEndView> 087 */ 088 public List<FrontEndView> getTargetViews(); 089 090 /** 091 * All the transitions that make up this action, this directly maps onto the forwards. 092 * @return List<FrontEndForward> 093 */ 094 public List<FrontEndForward> getTransitions(); 095 096 /** 097 * Indicates if this action represents the beginning of the front-end use case or not. 098 * @return boolean 099 */ 100 public boolean isUseCaseStart(); 101}