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