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 }