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 an operation on the server called by an action. Optionally may defer operations to the
011 * controller.
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface FrontEndActionState
016    extends ActionStateFacade
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isFrontEndActionStateMetaType();
024
025    /**
026     * The method name representing this action state.
027     * @return String
028     */
029    public String getActionMethodName();
030
031    /**
032     * The actions that pass through this action state.
033     * @return List<FrontEndAction>
034     */
035    public List<FrontEndAction> getContainerActions();
036
037    /**
038     * All calls deferred to the controller by this action state.
039     * @return List<OperationFacade>
040     */
041    public List<OperationFacade> getControllerCalls();
042
043    /**
044     * All exceptions modelled on this action state.
045     * @return List<FrontEndExceptionHandler>
046     */
047    public List<FrontEndExceptionHandler> getExceptions();
048
049    /**
050     * The next transition, there can be only one transition going out of an action state, otherwise
051     * decision points should be used (triggers are not supported at the server-side).
052     * @return FrontEndForward
053     */
054    public FrontEndForward getForward();
055
056    /**
057     * All calls deferred to the services by this action state.
058     * @return List<OperationFacade>
059     */
060    public List<OperationFacade> getServiceCalls();
061
062    /**
063     * True if this element is contained in a FrontEndUseCase.
064     * @return boolean
065     */
066    public boolean isContainedInFrontEndUseCase();
067
068    /**
069     * Indicates whether or not this front end action state is server side. Pages, for example, are
070     * also action states but they return control to the client.
071     * @return boolean
072     */
073    public boolean isServerSide();
074}