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 'Instance Specification'. Represents an instance in a
11 * modeled system. Has the capability of being a deployment target in a deployment relationship, in
12 * the case that it is an instance of a node. Has the capability of being a deployed artifact, if it
13 * is an instance of an artifact.
14 *
15 * Metafacade interface to be used by AndroMDA cartridges.
16 */
17 public interface InstanceFacade
18 extends ModelElementFacade
19 {
20 /**
21 * Indicates the metafacade type (used for metafacade mappings).
22 *
23 * @return boolean always <code>true</code>
24 */
25 public boolean isInstanceFacadeMetaType();
26
27 /**
28 * Returns those slots that map onto attributes.
29 * @return Collection<AttributeLinkFacade>
30 */
31 public Collection<AttributeLinkFacade> getAttributeLinks();
32
33 /**
34 * A Classifier is a classification of instances - it describes a set of instances that have
35 * features
36 * in common. Can specify a generalization hierarchy by referencing its general classifiers. It
37 * may be
38 * a Class, DataType, PrimitiveType, Association, Collaboration, UseCase, etc. Can specify a
39 * generalization hierarchy by referencing its general classifiers. Has the capability to own
40 * collaboration uses. These collaboration uses link a collaboration with the classifier to give
41 * a
42 * description of the workings of the classifier. Classifier is defined to be a kind of
43 * templateable
44 * element so that a classifier can be parameterized. It is also defined to be a kind of
45 * parameterable
46 * element so that a classifier can be a formal template parameter.
47 * @return Collection<ClassifierFacade>
48 */
49 public Collection<ClassifierFacade> getClassifiers();
50
51 /**
52 * Those slots that map onto association ends.
53 * @return Collection<LinkEndFacade>
54 */
55 public Collection<LinkEndFacade> getLinkEnds();
56
57 /**
58 * A representation of the model object 'Instance Specification'. Represents an instance in a
59 * modeled
60 * system. Has the capability of being a deployment target in a deployment relationship, in the
61 * case
62 * that it is an instance of a node. Has the capability of being a deployed artifact, if it is
63 * an
64 * instance of an artifact.
65 * @return Collection<InstanceFacade>
66 */
67 public Collection<InstanceFacade> getOwnedInstances();
68
69 /**
70 * A representation of the model object 'Instance Specification'. Represents an instance in a
71 * modeled
72 * system. Has the capability of being a deployment target in a deployment relationship, in the
73 * case
74 * that it is an instance of a node. Has the capability of being a deployed artifact, if it is
75 * an
76 * instance of an artifact.
77 * @return Collection<LinkFacade>
78 */
79 public Collection<LinkFacade> getOwnedLinks();
80
81 /**
82 * All slots for this instance, this includes the ones that map onto attributes and the ones
83 * that map onto association ends. In fact, this feature holds the collection of both
84 * InstanceFacade.attributeLinks and InstanceFacade.linkEnds.
85 * @return Collection<AttributeLinkFacade>
86 */
87 public Collection<AttributeLinkFacade> getSlots();
88 }