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 * Reprsents an operation of a service.
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface ServiceOperation
15 extends OperationFacade
16 {
17 /**
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return boolean always <code>true</code>
21 */
22 public boolean isServiceOperationMetaType();
23
24 /**
25 * The destination for any incoming messages.
26 * @return Destination
27 */
28 public Destination getIncomingDestination();
29
30 /**
31 * The destination for any outgoing messages.
32 * @return Destination
33 */
34 public Destination getOutgoingDestination();
35
36 /**
37 * The users of the service operation, these are the actor's that can access this operation.
38 * @return Collection<Role>
39 */
40 public Collection<Role> getRoles();
41
42 /**
43 * The service which owns the service operation.
44 * @return Service
45 */
46 public Service getService();
47
48 /**
49 * Whether or not this operation represents an "incoming" message operation (i.e. it receives
50 * messages from Queues or Topics).
51 * @return boolean
52 */
53 public boolean isIncomingMessageOperation();
54
55 /**
56 * Whether or not this is operation accepts incoming or outgoing messages.
57 * @return boolean
58 */
59 public boolean isMessageOperation();
60
61 /**
62 * Whether or not this service operation represents an "outgoing" messaging operation (i.e. it
63 * sends messages to Queues or Topics).
64 * @return boolean
65 */
66 public boolean isOutgoingMessageOperation();
67 }