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 }