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 * Models a situation during which some (usually implicit) invariant condition holds. The states of
011 * protocol state machines are exposed to the users of their context classifiers. A protocol state
012 * represents an exposed stable situation of its context classifier: when an instance of the
013 * classifier is not processing any operation, users of this instance can always know its state
014 * configuration.
015 *
016 * Metafacade interface to be used by AndroMDA cartridges.
017 */
018public interface StateFacade
019    extends StateVertexFacade
020{
021    /**
022     * Indicates the metafacade type (used for metafacade mappings).
023     *
024     * @return boolean always <code>true</code>
025     */
026    public boolean isStateFacadeMetaType();
027
028    /**
029     * Events to which is being deferred in this action state.
030     * @return Collection<EventFacade>
031     */
032    public Collection<EventFacade> getDeferrableEvents();
033}