View Javadoc
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 }