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 * A front end controller is assigned as the context of a use-case. The controller provides the
011 * "controlling" of the use case's activity.
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface FrontEndController
016    extends ClassifierFacade
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isFrontEndControllerMetaType();
024
025    /**
026     * All actions that defer to at least one operation of this controller.
027     * @return List<FrontEndAction>
028     */
029    public List<FrontEndAction> getDeferringActions();
030
031    /**
032     * Returns all back-end services referenced by this controller.
033     * @return List<DependencyFacade>
034     */
035    public List<DependencyFacade> getServiceReferences();
036
037    /**
038     * Returns the use-case "controlled" by this controller.
039     * @return FrontEndUseCase
040     */
041    public FrontEndUseCase getUseCase();
042}