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 org.andromda.metafacades.uml.FrontEndControllerOperation;
008import org.andromda.metafacades.uml.ServiceOperation;
009
010/**
011 * TODO: Model Documentation for
012 * org.andromda.cartridges.bpm4struts.metafacades.StrutsControllerOperation
013 *
014 * Metafacade interface to be used by AndroMDA cartridges.
015 */
016public interface StrutsControllerOperation
017    extends FrontEndControllerOperation
018{
019    /**
020     * Indicates the metafacade type (used for metafacade mappings).
021     *
022     * @return boolean always <code>true</code>
023     */
024    public boolean isStrutsControllerOperationMetaType();
025
026    /**
027     * Reprsents an operation of a service.
028     * @return ServiceOperation
029     */
030    public ServiceOperation getBackEndServiceOperation();
031
032    /**
033     * The controller for this operation. This is the owner in case this actually is a controller
034     * operation, null otherwise.
035     * @return StrutsController
036     */
037    public StrutsController getController();
038
039    /**
040     * The package of the interface converted to a file-system compatible format.
041     * @return String
042     */
043    public String getInterfaceFullPath();
044
045    /**
046     * The name of the interface used for forms that correspond to the calling of this operation (we
047     * need to pass the form to the controller, but many forms/actions my be deferring to this
048     * operation, this way we can aggregate them).
049     * @return String
050     */
051    public String getInterfaceName();
052
053    /**
054     * The package of the interface used for forms that correspond to the calling of this operation
055     * (we need to pass the form to the controller, but many forms/actions my be deferring to this
056     * operation, this way we can aggregate them).
057     * @return String
058     */
059    public String getInterfacePackageName();
060
061    /**
062     * The fully qualified name of the interface.
063     * @return String
064     */
065    public String getInterfaceType();
066
067    /**
068     * TODO: Model Documentation for
069     * org.andromda.cartridges.bpm4struts.metafacades.StrutsControllerOperation.backEndServiceOperationMatchingParameters
070     * @return boolean
071     */
072    public boolean isBackEndServiceOperationMatchingParameters();
073
074    /**
075     * If this is true then the backEndServiceOperation property is not null, meaning this operation
076     * is calling a specific backend operation.
077     * @return boolean
078     */
079    public boolean isCallingBackEnd();
080}