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.Collection;
008
009/**
010 * The specification of a set of actions performed by a system, which yields an observable result
011 * that is, typically, of value for one or more actors or other stakeholders of the system.
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface UseCaseFacade
016    extends NamespaceFacade
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isUseCaseFacadeMetaType();
024
025    /**
026     * The extend instances related to this use-case.
027     * @return Collection<ExtendFacade>
028     */
029    public Collection<ExtendFacade> getExtends();
030
031    /**
032     * The extension points related to this use-case.
033     * @return Collection<ExtensionPointFacade>
034     */
035    public Collection<ExtensionPointFacade> getExtensionPoints();
036
037    /**
038     * The first activity graph directly owned by this use-case.
039     * @return ActivityGraphFacade
040     */
041    public ActivityGraphFacade getFirstActivityGraph();
042
043    /**
044     * The included instances related to this use-case.
045     * @return Collection<IncludeFacade>
046     */
047    public Collection<IncludeFacade> getIncludes();
048}