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