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 /** 8 * A property related by memberEnd or its specializations to an association represents an end of the 9 * association. The type of the property is the type of the end of the association .Property 10 * represents a declared state of one or more instances in terms of a named relationship to a value 11 * or values. When a property is an association end, the value or values are related to the instance 12 * or instances at the other end(s) of the association. 13 * 14 * Metafacade interface to be used by AndroMDA cartridges. 15 */ 16 public interface AssociationEndFacade 17 extends ModelElementFacade 18 { 19 /** 20 * Indicates the metafacade type (used for metafacade mappings). 21 * 22 * @return boolean always <code>true</code> 23 */ 24 public boolean isAssociationEndFacadeMetaType(); 25 26 /** 27 * A name suitable for use when adding new elements to this association end in programming code. 28 * @return String 29 */ 30 public String getAdderName(); 31 32 /** 33 * Returns the value of the 'Aggregation' attribute (none, shared, composite). The default value 34 * is "none". The literals are from the enumeration org.eclipse.uml2.uml.AggregationKind. 35 * Specifies the kind of aggregation that applies to the Property. 36 * @return String 37 */ 38 public String getAggregationKind(); 39 40 /** 41 * The association owning this association end. 42 * @return AssociationFacade 43 */ 44 public AssociationFacade getAssociation(); 45 46 /** 47 * UML2: Returns the value of the 'Default' attribute. Specifies a String that represents a 48 * value to be used when no argument is supplied for the Property. A String that is evaluated to 49 * give a default value for the Property when an object of the owning Classifier is 50 * instantiated. Can be something like: new ValueObject(values); 51 * @return String 52 */ 53 public String getDefault(); 54 55 /** 56 * A name suitable for use when accessing this association end in programming code. 57 * @return String 58 */ 59 public String getGetterName(); 60 61 /** 62 * The name of the type that is returned on the accessor and mutator operations, determined in 63 * part by the multiplicity. 64 * @return String 65 */ 66 public String getGetterSetterTypeName(); 67 68 /** 69 * the lower value for the multiplicity 70 * -only applicable for UML2 71 * @return int 72 */ 73 public int getLower(); 74 75 /** 76 * The other association end owned by this end's association. 77 * @return AssociationEndFacade 78 */ 79 public AssociationEndFacade getOtherEnd(); 80 81 /** 82 * A name suitable for use when removing element from this association end in programming code. 83 * @return String 84 */ 85 public String getRemoverName(); 86 87 /** 88 * A name suitable for use when accessing this association end in programming code. 89 * @return String 90 */ 91 public String getSetterName(); 92 93 /** 94 * The classifier attached to this association end. 95 * @return ClassifierFacade 96 */ 97 public ClassifierFacade getType(); 98 99 /** 100 * the upper value for the multiplicity (will be -1 for *) 101 * -only applicable for UML2 102 * @return int 103 */ 104 public int getUpper(); 105 106 /** 107 * True if this association end represents an aggregation relationship. 108 * @return boolean 109 */ 110 public boolean isAggregation(); 111 112 /** 113 * Is true if update of one side of the association should also update the other side. false if 114 * not. 115 * @return boolean 116 */ 117 public boolean isBidirectional(); 118 119 /** 120 * Returns whether or not (true/false) this association end is the child end of the assocation 121 * (i.e. the other end's aggregation is composition). 122 * @return boolean 123 */ 124 public boolean isChild(); 125 126 /** 127 * True if this association end represents a composition relationship. 128 * @return boolean 129 */ 130 public boolean isComposition(); 131 132 /** 133 * If the association end is derived (its value is computed). UML2 only. UML14 always returns 134 * false. Default=false. 135 * @return boolean 136 */ 137 public boolean isDerived(); 138 139 /** 140 * IsLeaf property in the association end property. If true, attribute is final, cannot be 141 * extended or implemented by a descendant. Default=false. 142 * @return boolean 143 */ 144 public boolean isLeaf(); 145 146 /** 147 * True if this association end's multiplicity is greater than one. 148 * @return boolean 149 */ 150 public boolean isMany(); 151 152 /** 153 * True if this association end's and the other end's multiplicities are both many. 154 * @return boolean 155 */ 156 public boolean isMany2Many(); 157 158 /** 159 * True if this association end's multiplicity is many while the other end's is one. 160 * @return boolean 161 */ 162 public boolean isMany2One(); 163 164 /** 165 * True if it is possible to navigate from the other end to this association end . 166 * @return boolean 167 */ 168 public boolean isNavigable(); 169 170 /** 171 * True if this association end's multiplicity is one while the other end's is many. 172 * @return boolean 173 */ 174 public boolean isOne2Many(); 175 176 /** 177 * True if this association end's and the other end's multiplicities are both one. 178 * @return boolean 179 */ 180 public boolean isOne2One(); 181 182 /** 183 * Indicates whether or not the association ends are ordered (if multiplicity is greater than 184 * 1). 185 * @return boolean 186 */ 187 public boolean isOrdered(); 188 189 /** 190 * True if the association end cannot be changed. 191 * @return boolean 192 */ 193 public boolean isReadOnly(); 194 195 /** 196 * True if this association end's multiplicity is strictly greater than zero. 197 * @return boolean 198 */ 199 public boolean isRequired(); 200 201 /** 202 * Indicates if this associationEnd is 'static', meaning it has a classifier scope. 203 * @return boolean 204 */ 205 public boolean isStatic(); 206 207 /** 208 * UML2: If the association attribute is unique within the Collection type. UML14 always returns 209 * false. Unique+Ordered determines the implementation Collection type. Default=false. 210 * @return boolean 211 */ 212 public boolean isUnique(); 213 }