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 * Represents an attribute on a classifier. UML2 maps both Attributes and AssociationEnds to 9 * Property. A property is a structural feature of a classifier that characterizes instances of the 10 * classifier. A property related by ownedAttribute to a classifier (other than an association) 11 * represents an attribute and might also represent an association end. It relates an instance of 12 * the class to a value or set of values of the type of the attribute. A property represents a set 13 * of instances that are owned by a containing classifier instance. Property represents a declared 14 * state of one or more instances in terms of a named relationship to a value or values. When a 15 * property is an attribute of a classifier, the value or values are related to the instance of the 16 * classifier by being held in slots of the instance. The range of valid values represented by the 17 * property can be controlled by setting the property's type. 18 * 19 * Metafacade interface to be used by AndroMDA cartridges. 20 */ 21 public interface AttributeFacade 22 extends ModelElementFacade 23 { 24 /** 25 * Indicates the metafacade type (used for metafacade mappings). 26 * 27 * @return boolean always <code>true</code> 28 */ 29 public boolean isAttributeFacadeMetaType(); 30 31 /** 32 * Searches the given feature for the specified tag. 33 * If the follow boolean is set to true then the search will continue from the class attribute 34 * to the class itself and then up the class hierarchy. 35 * @param name String 36 * @param follow boolean 37 * @return Object 38 */ 39 public Object findTaggedValue(String name, boolean follow); 40 41 /** 42 * The default value of the attribute. This is the value given if no value is defined. 43 * @return String 44 */ 45 public String getDefaultValue(); 46 47 /** 48 * If the attribute is an enumeration literal this represents the owning enumeration. Can be 49 * empty. 50 * @return EnumerationFacade 51 */ 52 public EnumerationFacade getEnumeration(); 53 54 /** 55 * Returns the enumeration literal parameters defined by tagged value as a comma separated list. 56 * @return String 57 */ 58 public String getEnumerationLiteralParameters(); 59 60 /** 61 * The value for this attribute if it is an enumeration literal, null otherwise. The default 62 * value is returned as a String if it has been specified, if it's not specified this 63 * attribute's name is assumed. 64 * @return String 65 */ 66 public String getEnumerationValue(); 67 68 /** 69 * The name of the accessor operation that would retrieve this attribute's value. 70 * @return String 71 */ 72 public String getGetterName(); 73 74 /** 75 * The name of the type that is returned on the accessor and mutator operations, determined in 76 * part by the multiplicity. 77 * @return String 78 */ 79 public String getGetterSetterTypeName(); 80 81 /** 82 * the lower value for the multiplicity 83 * -only applicable for UML2 84 * @return int 85 */ 86 public int getLower(); 87 88 /** 89 * Gets the classifier who is the owner of the attributes. 90 * @return ClassifierFacade 91 */ 92 public ClassifierFacade getOwner(); 93 94 /** 95 * The name of the mutator operation that would retrieve this attribute's value. 96 * @return String 97 */ 98 public String getSetterName(); 99 100 /** 101 * The classifier owning this attribute. 102 * @return ClassifierFacade 103 */ 104 public ClassifierFacade getType(); 105 106 /** 107 * the upper value for the multiplicity (will be -1 for *) 108 * -only applicable for UML2 109 * @return int 110 */ 111 public int getUpper(); 112 113 /** 114 * True if this attribute can only be set. 115 * @return boolean 116 */ 117 public boolean isAddOnly(); 118 119 /** 120 * True if this attribute can be modified. 121 * @return boolean 122 */ 123 public boolean isChangeable(); 124 125 /** 126 * Indicates if the default value is present. 127 * @return boolean 128 */ 129 public boolean isDefaultValuePresent(); 130 131 /** 132 * If the attribute is derived (its value is computed). UML2 only. UML14 always returns false. 133 * Default=false. 134 * @return boolean 135 */ 136 public boolean isDerived(); 137 138 /** 139 * True if this attribute is owned by an enumeration. 140 * @return boolean 141 */ 142 public boolean isEnumerationLiteral(); 143 144 /** 145 * Returns true if enumeration literal parameters exist (defined by tagged value) for the 146 * literal. 147 * @return boolean 148 */ 149 public boolean isEnumerationLiteralParametersExist(); 150 151 /** 152 * True if this attribute is owned by an enumeration but is defined as a member variable (NOT a 153 * literal). 154 * @return boolean 155 */ 156 public boolean isEnumerationMember(); 157 158 /** 159 * IsLeaf property in the operation. If true, operation is final, cannot be extended or 160 * implemented by a descendant. 161 * @return boolean 162 */ 163 public boolean isLeaf(); 164 165 /** 166 * Whether or not this attribute has a multiplicity greater than 1. 167 * @return boolean 168 */ 169 public boolean isMany(); 170 171 /** 172 * Indicates whether or not the attributes are ordered (if multiplicity is greater than 1). 173 * @return boolean 174 */ 175 public boolean isOrdered(); 176 177 /** 178 * Whether or not this attribute can be modified. 179 * @return boolean 180 */ 181 public boolean isReadOnly(); 182 183 /** 184 * Whether or not the multiplicity of this attribute is 1. 185 * @return boolean 186 */ 187 public boolean isRequired(); 188 189 /** 190 * Indicates if this attribute is 'static', meaning it has a classifier scope. 191 * @return boolean 192 */ 193 public boolean isStatic(); 194 195 /** 196 * If the attribute is unique within the Collection type. UML2 only. UML14 always returns false. 197 * Unique+Ordered determines the implementation Collection type. Default=false. 198 * @return boolean 199 */ 200 public boolean isUnique(); 201 }