1 // license-header java merge-point
2 //
3 // Attention: generated code (by Metafacade.vsl) - do not modify!
4 //
5 package org.andromda.metafacades.uml;
6
7 import java.util.Collection;
8
9 /**
10 * A representation of the model object 'Vertex'. An abstraction of a node in a state machine graph.
11 * In general, it can be the source or destination of any number of transitions.
12 *
13 * Metafacade interface to be used by AndroMDA cartridges.
14 */
15 public interface StateVertexFacade
16 extends ModelElementFacade
17 {
18 /**
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return boolean always <code>true</code>
22 */
23 public boolean isStateVertexFacadeMetaType();
24
25 /**
26 * Models a situation during which some (usually implicit) invariant condition holds. The states
27 * of
28 * protocol state machines are exposed to the users of their context classifiers. A protocol
29 * state
30 * represents an exposed stable situation of its context classifier: when an instance of the
31 * classifier
32 * is not processing any operation, users of this instance can always know its state
33 * configuration.
34 * @return StateFacade
35 */
36 public StateFacade getContainer();
37
38 /**
39 * A directed relationship between a source vertex and a target vertex. It may be part of a
40 * compound
41 * transition, which takes the state machine from one state configuration to another,
42 * representing the
43 * complete response of the state machine to an occurrence of an event of a particular type.
44 * @return Collection<TransitionFacade>
45 */
46 public Collection<TransitionFacade> getIncomings();
47
48 /**
49 * A directed relationship between a source vertex and a target vertex. It may be part of a
50 * compound
51 * transition, which takes the state machine from one state configuration to another,
52 * representing the
53 * complete response of the state machine to an occurrence of an event of a particular type.
54 * @return Collection<TransitionFacade>
55 */
56 public Collection<TransitionFacade> getOutgoings();
57
58 /**
59 * The partition (if any) to which this vertex belongs.
60 * @return PartitionFacade
61 */
62 public PartitionFacade getPartition();
63
64 /**
65 * State machines can be used to express the behavior of part of a system. Behavior is modeled
66 * as a
67 * traversal of a graph of state nodes interconnected by one or more joined transition arcs that
68 * are
69 * triggered by the dispatching of series of (event) occurrences. During this traversal, the
70 * state
71 * machine executes a series of activities associated with various elements of the state
72 * machine.
73 * @return StateMachineFacade
74 */
75 public StateMachineFacade getStateMachine();
76 }