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 * Specification of an argument used to pass information into or out of an invocation of a 9 * behavioral feature. Parameters are allowed to be treated as connectable elements. Parameters have 10 * support for streaming, exceptions, and parameter sets. 11 * 12 * Metafacade interface to be used by AndroMDA cartridges. 13 */ 14 public interface ParameterFacade 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 isParameterFacadeMetaType(); 23 24 /** 25 * TODO: Model Documentation for org.andromda.metafacades.uml.ParameterFacade.defaultValue 26 * @return String 27 */ 28 public String getDefaultValue(); 29 30 /** 31 * UML2: A representation of the literals of the enumeration 'Parameter Effect Kind': CREATE, 32 * READ, UPDATE, DELETE. The datatype ParameterEffectKind is an enumeration that indicates the 33 * effect of a behavior on values passed in or out of its parameters. 34 * @return String 35 */ 36 public String getEffect(); 37 38 /** 39 * If this parameter is located on an event, this will represent that event. 40 * @return EventFacade 41 */ 42 public EventFacade getEvent(); 43 44 /** 45 * The name to use for accessors getting this parameter from a bean. 46 * @return String 47 */ 48 public String getGetterName(); 49 50 /** 51 * Fully Qualified TypeName, determined in part by multiplicity (for UML2). For UML14, same as 52 * getterName. 53 * @return String 54 */ 55 public String getGetterSetterTypeName(); 56 57 /** 58 * Fully Qualified implementation class of TypeName, determined in part by multiplicity (for 59 * UML2). If upper multiplicity =1, same as getterSetterTypeName. 60 * @return String 61 */ 62 public String getGetterSetterTypeNameImpl(); 63 64 /** 65 * the lower value for the multiplicity 66 * -only applicable for UML2 67 * @return int 68 */ 69 public int getLower(); 70 71 /** 72 * If this parameter is located on an operation, this will represent that operation. 73 * @return OperationFacade 74 */ 75 public OperationFacade getOperation(); 76 77 /** 78 * The name to use for accessors getting this parameter in a bean. 79 * @return String 80 */ 81 public String getSetterName(); 82 83 /** 84 * A Classifier is a classification of instances - it describes a set of instances that have 85 * features 86 * in common. Can specify a generalization hierarchy by referencing its general classifiers. It 87 * may be 88 * a Class, DataType, PrimitiveType, Association, Collaboration, UseCase, etc. Can specify a 89 * generalization hierarchy by referencing its general classifiers. Has the capability to own 90 * collaboration uses. These collaboration uses link a collaboration with the classifier to give 91 * a 92 * description of the workings of the classifier. Classifier is defined to be a kind of 93 * templateable 94 * element so that a classifier can be parameterized. It is also defined to be a kind of 95 * parameterable 96 * element so that a classifier can be a formal template parameter. 97 * @return ClassifierFacade 98 */ 99 public ClassifierFacade getType(); 100 101 /** 102 * the upper value of the multiplicity (will be -1 for *) 103 * -only applicable for UML2 104 * @return int 105 */ 106 public int getUpper(); 107 108 /** 109 * Indicates if the default value is present. 110 * @return boolean 111 */ 112 public boolean isDefaultValuePresent(); 113 114 /** 115 * UML2: Returns the value of the 'Is Exception' attribute. The default value is "false". Tells 116 * whether an output parameter may emit a value to the exclusion of the other outputs. 117 * @return boolean 118 */ 119 public boolean isException(); 120 121 /** 122 * True if this parameter is an 'in' parameter. 123 * @return boolean 124 */ 125 public boolean isInParameter(); 126 127 /** 128 * True if this parameter is an inout parameter. 129 * @return boolean 130 */ 131 public boolean isInoutParameter(); 132 133 /** 134 * If upper>1 or upper==unlimited. Only applies to UML2. For UML14, always false. 135 * @return boolean 136 */ 137 public boolean isMany(); 138 139 /** 140 * UML2 Only: Is parameter ordered within the Collection type. Ordered+Unique determines the 141 * implementation Collection Type. For UML14, always false. 142 * @return boolean 143 */ 144 public boolean isOrdered(); 145 146 /** 147 * True if this parameter is an 'out' parameter. 148 * @return boolean 149 */ 150 public boolean isOutParameter(); 151 152 /** 153 * True if this parameter is readable, aka an in-parameter, or this feature is unspecified. 154 * @return boolean 155 */ 156 public boolean isReadable(); 157 158 /** 159 * Whether or not this parameter is considered required (i.e must a non-empty value). 160 * @return boolean 161 */ 162 public boolean isRequired(); 163 164 /** 165 * Whether or not this parameter represents a return parameter. 166 * @return boolean 167 */ 168 public boolean isReturn(); 169 170 /** 171 * If Parameter type isMany (UML2), is the parameter unique within the Collection. Unique+Sorted 172 * determines pareter implementation type. For UML14, always false. 173 * @return boolean 174 */ 175 public boolean isUnique(); 176 177 /** 178 * True if this parameter is writable, aka an out-parameter, or this feature is unspecified. 179 * @return boolean 180 */ 181 public boolean isWritable(); 182 }