001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.jsf.metafacades;
006
007import java.util.List;
008import org.andromda.metafacades.uml.DependencyFacade;
009import org.andromda.metafacades.uml.FrontEndController;
010
011/**
012 * Represents a controller for a JSF application.
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface JSFController
017    extends FrontEndController
018{
019    /**
020     * Indicates the metafacade type (used for metafacade mappings).
021     *
022     * @return boolean always <code>true</code>
023     */
024    public boolean isJSFControllerMetaType();
025
026    /**
027     * The bean name of this controller (this is what is stored in the JSF configuration file).
028     * @return String
029     */
030    public String getBeanName();
031
032    /**
033     * The calculated serial version UID for this controller.
034     * @return String
035     */
036    public String getControllerSerialVersionUID();
037
038    /**
039     * The fully qualified implementation name of this controller.
040     * @return String
041     */
042    public String getFullyQualifiedImplementationName();
043
044    /**
045     * The fully qualified path to the controller implemention file.
046     * @return String
047     */
048    public String getFullyQualifiedImplementationPath();
049
050    /**
051     * The implementation name of this controller.
052     * @return String
053     */
054    public String getImplementationName();
055
056    /**
057     * All dependencies to a front-end JSF session object.
058     * @return List<DependencyFacade>
059     */
060    public List<DependencyFacade> getSessionObjectReferences();
061}