001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.bpm4struts.metafacades;
006
007import java.util.List;
008import org.andromda.metafacades.uml.FrontEndController;
009
010/**
011 * A controller is assigned as the context of a use-case. All manual implementation is done in the
012 * controller as Struts actions may result in derferring method calls to this controller.
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface StrutsController
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 isStrutsControllerMetaType();
025
026    /**
027     * Returns all the arguments found in this controller's operations. Please note that return
028     * types are excluded from this collection.
029     * @return List<StrutsParameter>
030     */
031    public List<StrutsParameter> getAllArguments();
032
033    /**
034     * The full path to this controller (that is the full file system path made up from the package
035     * and name).
036     * @return String
037     */
038    public String getFullPath();
039
040    /**
041     * The session objects that this controller has access to.
042     * @return List<StrutsSessionObject>
043     */
044    public List<StrutsSessionObject> getSessionObjects();
045}