1
2
3
4 package org.andromda.metafacades.uml;
5
6 /***
7 * <p>
8 * The model element that represents an element that can be
9 * generalized or specialized.
10 * </p>
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface GeneralizableElementFacade
15 extends org.andromda.metafacades.uml.ModelElementFacade
16 {
17
18 /***
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return always <code>true</code>
22 */
23 public boolean isGeneralizableElementFacadeMetaType();
24
25 /***
26 * <p>
27 * Finds the tagged value optional searching the entire inheritance
28 * hierarchy if 'follow' is set to true.
29 * </p>
30 */
31 public java.lang.Object findTaggedValue(java.lang.String tagName, boolean follow);
32
33 /***
34 * <p>
35 * All generalizations for this generalizable element, goes up the
36 * inheritance tree.
37 * </p>
38 */
39 public java.util.Collection getAllGeneralizations();
40
41 /***
42 * <p>
43 * All specializations (travels down the inheritance hiearchy).
44 * </p>
45 */
46 public java.util.Collection getAllSpecializations();
47
48 /***
49 * <p>
50 * Gets the direct generalization for this generalizable element.
51 * </p>
52 */
53 public org.andromda.metafacades.uml.GeneralizableElementFacade getGeneralization();
54
55 /***
56 * <p>
57 * Gets the actual links that this generalization element is part
58 * of (it plays either the specialization or generalization).
59 * </p>
60 */
61 public java.util.Collection getGeneralizationLinks();
62
63 /***
64 * <p>
65 * A comma seperated list of the fully qualified names of all
66 * generalizations.
67 * </p>
68 */
69 public java.lang.String getGeneralizationList();
70
71 /***
72 * <p>
73 * The element found when you recursively follow the generalization
74 * path up to the root. If an element has no generalization itself
75 * will be considered the root.
76 * </p>
77 */
78 public org.andromda.metafacades.uml.GeneralizableElementFacade getGeneralizationRoot();
79
80 /***
81 *
82 */
83 public java.util.Collection getGeneralizations();
84
85 /***
86 * <p>
87 * Gets the direct specializations (i.e. sub elements) for this
88 * generalizatble element.
89 * </p>
90 */
91 public java.util.Collection getSpecializations();
92
93 }