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 * Represents a service.
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface Service
15 extends ClassifierFacade
16 {
17 /**
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return boolean always <code>true</code>
21 */
22 public boolean isServiceMetaType();
23
24 /**
25 * Returns a collection of all entities this service and its ancestors have a relation to.
26 * @return Collection<DependencyFacade>
27 */
28 public Collection<DependencyFacade> getAllEntityReferences();
29
30 /**
31 * All messaging destinations that belong to this service and all decendent services.
32 * @return Collection<Destination>
33 */
34 public Collection<Destination> getAllMessagingDestinations();
35
36 /**
37 * All roles associated with the service, this includes both roles that have access to the
38 * entire service, and any roles that have access to a single operation.
39 * @return Collection<Role>
40 */
41 public Collection<Role> getAllRoles();
42
43 /**
44 * Returns a collection of all services this service and its ancestors have a relation to.
45 * @return Collection<DependencyFacade>
46 */
47 public Collection<DependencyFacade> getAllServiceReferences();
48
49 /**
50 * References to all entities to which this service has a dependency.
51 * @return Collection<DependencyFacade>
52 */
53 public Collection<DependencyFacade> getEntityReferences();
54
55 /**
56 * All messaging destinations available to this service.
57 * @return Collection<Destination>
58 */
59 public Collection<Destination> getMessagingDestinations();
60
61 /**
62 * The roles of the service, these are the actor's that can access this service.
63 * @return Collection<Role>
64 */
65 public Collection<Role> getRoles();
66
67 /**
68 * References to all services to which this service has a dependency.
69 * @return Collection<DependencyFacade>
70 */
71 public Collection<DependencyFacade> getServiceReferences();
72 }