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 import java.util.Collection;
8
9 /**
10 * A front-end parameter is a parameter passed between front-end action states.
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface FrontEndParameter
15 extends ParameterFacade
16 {
17 /**
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return boolean always <code>true</code>
21 */
22 public boolean isFrontEndParameterMetaType();
23
24 /**
25 * The action to which this parameter belongs (if it belongs to an action), otherwise it returns
26 * null.
27 * @return FrontEndAction
28 */
29 public FrontEndAction getAction();
30
31 /**
32 * Gets the controller operation to which this parameter belongs.
33 * @return FrontEndControllerOperation
34 */
35 public FrontEndControllerOperation getControllerOperation();
36
37 /**
38 * A collection of all possible attribute names of a table (this will only work when your table
39 * is modeled as an array..not a collection).
40 * @return Collection<String>
41 */
42 public Collection<String> getTableAttributeNames();
43
44 /**
45 * All the columns for this parameter if it represents a table variable. If a column is linked
46 * by an event (action) a FrontEndParameter instance is included in the return value, otherwise
47 * a plain String representing the column name.
48 * @return Collection<String>
49 */
50 public Collection<String> getTableColumnNames();
51
52 /**
53 * A list of all attributes which make up the table columns of this table (this only contains
54 * attributes when the table is represented by an array).
55 * @return Collection<String>
56 */
57 public Collection<String> getTableColumns();
58
59 /**
60 * Represents the view in which this parameter will be used.
61 * @return FrontEndView
62 */
63 public FrontEndView getView();
64
65 /**
66 * Indicates whether or not this is an action parameter or not.
67 * @return boolean
68 */
69 public boolean isActionParameter();
70
71 /**
72 * Indicates if this parameter is contained in a "front-end" use case.
73 * @return boolean
74 */
75 public boolean isContainedInFrontEndUseCase();
76
77 /**
78 * Indicates whether or not this parameter is an argument of a controller operation.
79 * @return boolean
80 */
81 public boolean isControllerOperationArgument();
82
83 /**
84 * Indicates whether or not this parameter represents a table.
85 * @return boolean
86 */
87 public boolean isTable();
88 }