View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by Metafacade.vsl) - do not modify!
4   //
5   package org.andromda.cartridges.jsf.metafacades;
6   
7   import java.util.Collection;
8   import org.andromda.metafacades.uml.AttributeFacade;
9   import org.andromda.metafacades.uml.FrontEndParameter;
10  import org.andromda.metafacades.uml.ParameterFacade;
11  
12  /**
13   * Represents an attribute on a classifier used by a JSF application.
14   *
15   * Metafacade interface to be used by AndroMDA cartridges.
16   */
17  public interface JSFAttribute
18      extends AttributeFacade
19  {
20      /**
21       * Indicates the metafacade type (used for metafacade mappings).
22       *
23       * @return boolean always <code>true</code>
24       */
25      public boolean isJSFAttributeMetaType();
26  
27      /**
28       * Gets backing list name for this attribute. This is useful if you want to be able to select
29       * the attribute value from a list (i.e. a drop-down select input type).
30       * @param ownerParameter ParameterFacade
31       * @return String
32       */
33      public String getBackingListName(ParameterFacade ownerParameter);
34  
35      /**
36       * Constructs and returns the backing value name given the 'ownerParameter'.
37       * @param ownerParameter ParameterFacade
38       * @return String
39       */
40      public String getBackingValueName(ParameterFacade ownerParameter);
41  
42      /**
43       * Gets the name of the date formatter for this attribute by constructing the name from the
44       * 'ownerParameter' (if this attribute represents a date).
45       * @param ownerParameter JSFParameter
46       * @return String
47       */
48      public String getDateFormatter(JSFParameter ownerParameter);
49  
50      /**
51       * The dummy value to give the attribute when creating a dummy instance of this attribute's
52       * owner.
53       * @return String
54       */
55      public String getDummyValue();
56  
57      /**
58       * Gets the unique id of this attribute on the form.
59       * @param ownerParameter ParameterFacade
60       * @return String
61       */
62      public String getFormPropertyId(ParameterFacade ownerParameter);
63  
64      /**
65       * Retrieves the name of the form property for this attribute by taking the name of the owner
66       * property.
67       * @param ownerParameter ParameterFacade
68       * @return String
69       */
70      public String getFormPropertyName(ParameterFacade ownerParameter);
71  
72      /**
73       * If this attributes represents a date or time this method will return the format in which it
74       * must be represented. In the event this format has not been specified by the any tagged value
75       * the default will be used.
76       * @return String
77       */
78      public String getFormat();
79  
80      /**
81       * A comma separated list of the input table identifier columns (these are the columns that
82       * uniquely define a row in an input table).
83       * @return String
84       */
85      public String getInputTableIdentifierColumns();
86  
87      /**
88       * Gets the name of the label list for this parameter. The label list name is the name of the
89       * list storing the labels for the possible values of this attribute (typically used for the
90       * labels of a drop-down select lists).
91       * @param ownerParameter ParameterFacade
92       * @return String
93       */
94      public String getLabelListName(ParameterFacade ownerParameter);
95  
96      /**
97       * The max length allowed in the input component
98       * @return String
99       */
100     public String getMaxLength();
101 
102     /**
103      * The message key for this attribute.
104      * @return String
105      */
106     public String getMessageKey();
107 
108     /**
109      * The default value for the message key.
110      * @return String
111      */
112     public String getMessageValue();
113 
114     /**
115      * Gets the name of the time formatter (if this parameter represents a time).
116      * @param ownerParameter JSFParameter
117      * @return String
118      */
119     public String getTimeFormatter(JSFParameter ownerParameter);
120 
121     /**
122      * The validator's 'validwhen' value, this is useful when the validation of a parameter depends
123      * on the validation of others. See the apache commons-validator documentation for more
124      * information.
125      * @return String
126      */
127     public String getValidWhen();
128 
129     /**
130      * Gets the arguments for this parameter's validators.
131      * @param validatorType String
132      * @return Collection
133      */
134     public Collection getValidatorArgs(String validatorType);
135 
136     /**
137      * All validator types for this attribute.
138      * @return Collection
139      */
140     public Collection getValidatorTypes();
141 
142     /**
143      * Gets the validator args for this attribute
144      * @param ownerParameter JSFParameter
145      * @return Collection
146      */
147     public Collection getValidatorVars(JSFParameter ownerParameter);
148 
149     /**
150      * The dummy value for a value list.
151      * @return String
152      */
153     public String getValueListDummyValue();
154 
155     /**
156      * Gets the name of the value list for this parameter; this list stores the possible values that
157      * this attribute may be (typically used for the values of a drop-down select list).
158      * @param ownerParameter ParameterFacade
159      * @return String
160      */
161     public String getValueListName(ParameterFacade ownerParameter);
162 
163     /**
164      * Indicates whether or not the backing value is required for this attribute (depending on the
165      * 'ownerParameter').
166      * @param ownerParameter FrontEndParameter
167      * @return boolean
168      */
169     public boolean isBackingValueRequired(FrontEndParameter ownerParameter);
170 
171     /**
172      * Indicates whether or not this parameter uses the equal validator.
173      * @return boolean
174      */
175     public boolean isEqualValidator();
176 
177     /**
178      * Indicates if this parameter represents a checkbox widget.
179      * @return boolean
180      */
181     public boolean isInputCheckbox();
182 
183     /**
184      * Indicates whether or not this is a file input type.
185      * @return boolean
186      */
187     public boolean isInputFile();
188 
189     /**
190      * Indicates whether or not this parameter represents a hidden input widget.
191      * @return boolean
192      */
193     public boolean isInputHidden();
194 
195     /**
196      * Indicates whether or not this type represents an input multibox.
197      * @return boolean
198      */
199     public boolean isInputMultibox();
200 
201     /**
202      * Indicates whether or not this parameter should be rendered as an input radio widget.
203      * @return boolean
204      */
205     public boolean isInputRadio();
206 
207     /**
208      * Indicates whether or not this parameter represents an input "secret" widget (i.e. password).
209      * @return boolean
210      */
211     public boolean isInputSecret();
212 
213     /**
214      * Indicates whether or not this parameter represents an input select widget.
215      * @return boolean
216      */
217     public boolean isInputSelect();
218 
219     /**
220      * Indicates whether or not this is an table input type.
221      * @return boolean
222      */
223     public boolean isInputTable();
224 
225     /**
226      * Indicates whether or not this parameter should be rendered as a text input widget.
227      * @return boolean
228      */
229     public boolean isInputText();
230 
231     /**
232      * Indicates if this parameter represents as an input text area widget.
233      * @return boolean
234      */
235     public boolean isInputTextarea();
236 
237     /**
238      * Indicates whether or not there is an input type defined for this attribute.
239      * @return boolean
240      */
241     public boolean isInputTypePresent();
242 
243     /**
244      * Indicates whether or not this attribute's value should be rendered as plain text (not as a
245      * widget).
246      * @return boolean
247      */
248     public boolean isPlaintext();
249 
250     /**
251      * Indicates whether or not this attribute is selectable according to its 'ownerParameter'.
252      * @param ownerParameter FrontEndParameter
253      * @return boolean
254      */
255     public boolean isSelectable(FrontEndParameter ownerParameter);
256 
257     /**
258      * Indicates where or not the date format is to be strictly respected. Otherwise the date
259      * formatter used for the representation of this date is to be set to lenient.
260      * @return boolean
261      */
262     public boolean isStrictDateFormat();
263 
264     /**
265      * Indicates whether or not this attribute requires some kind of validation (the collection of
266      * validator types is not empty).
267      * @return boolean
268      */
269     public boolean isValidationRequired();
270 }