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.List;
8   
9   /**
10   * An association describes a set of tuples whose values refer to typed instances. An instance of an
11   * association is called a link.
12   *
13   * Metafacade interface to be used by AndroMDA cartridges.
14   */
15  public interface AssociationFacade
16      extends GeneralizableElementFacade
17  {
18      /**
19       * Indicates the metafacade type (used for metafacade mappings).
20       *
21       * @return boolean always <code>true</code>
22       */
23      public boolean isAssociationFacadeMetaType();
24  
25      /**
26       * The first association end.
27       * @return AssociationEndFacade
28       */
29      public AssociationEndFacade getAssociationEndA();
30  
31      /**
32       * The second association end.
33       * @return AssociationEndFacade
34       */
35      public AssociationEndFacade getAssociationEndB();
36  
37      /**
38       * Gets the association ends belonging to this association.
39       * @return List<AssociationEndFacade>
40       */
41      public List<AssociationEndFacade> getAssociationEnds();
42  
43      /**
44       * A name suited for naming this relationship. This name will be constructed from both
45       * association ends.
46       * @return String
47       */
48      public String getRelationName();
49  
50      /**
51       * Indicates if this association is 'abstract'.
52       * @return boolean
53       */
54      public boolean isAbstract();
55  
56      /**
57       * True if the AssociationFacade is an AssociationClass.
58       * @return boolean
59       */
60      public boolean isAssociationClass();
61  
62      /**
63       * UML2: Determines whether this association is a binary association, i.e. whether it has
64       * exactly two member ends. UML2 allows association classes in the association itself (many2many
65       * with association attributes). Default=true: only two member ends.
66       * @return boolean
67       */
68      public boolean isBinary();
69  
70      /**
71       * UML2: Returns the value of the 'Is Derived' attribute. The default value is "false". If
72       * isDerived is true, the value of the attribute is derived from information elsewhere.
73       * Specifies whether the Property is derived, i.e., whether its value or values can be computed
74       * from other information.
75       * @return boolean
76       */
77      public boolean isDerived();
78  
79      /**
80       * True if this association cannot be extended and represent a leaf in the inheritance tree.
81       * @return boolean
82       */
83      public boolean isLeaf();
84  
85      /**
86       * Indicates whether or not this associations represents a many-to-many relation.
87       * @return boolean
88       */
89      public boolean isMany2Many();
90  }