001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.jsf2.metafacades;
006
007import java.util.Collection;
008import org.andromda.metafacades.uml.ManageableEntityAttribute;
009import org.andromda.metafacades.uml.ParameterFacade;
010
011/**
012 * TODO: Model Documentation for
013 * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute
014 *
015 * Metafacade interface to be used by AndroMDA cartridges.
016 */
017public interface JSFManageableEntityAttribute
018    extends ManageableEntityAttribute
019{
020    /**
021     * Indicates the metafacade type (used for metafacade mappings).
022     *
023     * @return boolean always <code>true</code>
024     */
025    public boolean isJSFManageableEntityAttributeMetaType();
026
027    /**
028     * TODO: Model Documentation for
029     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.backingListName
030     * @return String
031     */
032    public String getBackingListName();
033
034    /**
035     * The String format to use when referring to this date, only makes sense when the type is a
036     * date type.
037     * @return String
038     */
039    public String getDateFormat();
040
041    /**
042     * TODO: Model Documentation for
043     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.dateFormatter
044     * @return String
045     */
046    public String getDateFormatter();
047
048    /**
049     * TODO: Model Documentation for
050     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.defaultDateFormat
051     * @return String
052     */
053    public String getDefaultDateFormat();
054
055    /**
056     * TODO: Model Documentation for
057     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.defaultTimeFormat
058     * @return String
059     */
060    public String getDefaultTimeFormat();
061
062    /**
063     * TODO: Model Documentation for
064     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.dummyValue
065     * @return String
066     */
067    public String getDummyValue();
068
069    /**
070     * Gets the unique id of this attribute on the form.
071     * @param ownerParameter ParameterFacade
072     * @return String
073     */
074    public String getFormPropertyId(ParameterFacade ownerParameter);
075
076    /**
077     * Retrieves the name of the form property for this attribute by taking the name of the owner
078     * property.
079     * @param ownerParameter ParameterFacade
080     * @return String
081     */
082    public String getFormPropertyName(ParameterFacade ownerParameter);
083
084    /**
085     * TODO: Model Documentation for
086     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.format
087     * @return String
088     */
089    public String getFormat();
090
091    /**
092     * TODO: Model Documentation for
093     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputTableIdentifierColumns
094     * @return String
095     */
096    public String getInputTableIdentifierColumns();
097
098    /**
099     * TODO: Model Documentation for
100     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.labelListName
101     * @return String
102     */
103    public String getLabelListName();
104
105    /**
106     * The max length allowed in the input component
107     * @return String
108     */
109    public String getMaxLength();
110
111    /**
112     * TODO: Model Documentation for
113     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.messageKey
114     * @return String
115     */
116    public String getMessageKey();
117
118    /**
119     * TODO: Model Documentation for
120     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.messageValue
121     * @return String
122     */
123    public String getMessageValue();
124
125    /**
126     * The key to lookup the online help documentation. This documentation is gathered from the
127     * documentation entered by the user, as well as analyzing the model.
128     * @return String
129     */
130    public String getOnlineHelpKey();
131
132    /**
133     * The online help documentation. This documentation is gathered from the documentation entered
134     * by the user, as well as analyzing the model. The format is HTML without any style.
135     * @return String
136     */
137    public String getOnlineHelpValue();
138
139    /**
140     * TODO: Model Documentation for
141     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.timeFormatter
142     * @return String
143     */
144    public String getTimeFormatter();
145
146    /**
147     * TODO: Model Documentation for
148     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.validWhen
149     * @return String
150     */
151    public String getValidWhen();
152
153    /**
154     * TODO: Model Documentation for
155     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.getValidatorArgs
156     * @param validatorType String
157     * @return Collection
158     */
159    public Collection getValidatorArgs(String validatorType);
160
161    /**
162     * All validator types for this attribute.
163     * @return Collection
164     */
165    public Collection getValidatorTypes();
166
167    /**
168     * The validator variables.
169     * @return Collection
170     */
171    public Collection getValidatorVars();
172
173    /**
174     * TODO: Model Documentation for
175     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.valueListDummyValue
176     * @return String
177     */
178    public String getValueListDummyValue();
179
180    /**
181     * TODO: Model Documentation for
182     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.valueListName
183     * @return String
184     */
185    public String getValueListName();
186
187    /**
188     * The widget to use when rendering this attribute
189     * @return String
190     */
191    public String getWidgetType();
192
193    /**
194     * Whether or not this attribute should be put in the view
195     * @return boolean
196     */
197    public boolean isEditable();
198
199    /**
200     * TODO: Model Documentation for
201     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.equalValidator
202     * @return boolean
203     */
204    public boolean isEqualValidator();
205
206    /**
207     * Whether or not this attribute should be hidden from the view
208     * @return boolean
209     */
210    public boolean isHidden();
211
212    /**
213     * TODO: Model Documentation for
214     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputCheckbox
215     * @return boolean
216     */
217    public boolean isInputCheckbox();
218
219    /**
220     * TODO: Model Documentation for
221     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputFile
222     * @return boolean
223     */
224    public boolean isInputFile();
225
226    /**
227     * TODO: Model Documentation for
228     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputHidden
229     * @return boolean
230     */
231    public boolean isInputHidden();
232
233    /**
234     * TODO: Model Documentation for
235     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputMultibox
236     * @return boolean
237     */
238    public boolean isInputMultibox();
239
240    /**
241     * TODO: Model Documentation for
242     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputRadio
243     * @return boolean
244     */
245    public boolean isInputRadio();
246
247    /**
248     * TODO: Model Documentation for
249     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputSecret
250     * @return boolean
251     */
252    public boolean isInputSecret();
253
254    /**
255     * TODO: Model Documentation for
256     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputSelect
257     * @return boolean
258     */
259    public boolean isInputSelect();
260
261    /**
262     * TODO: Model Documentation for
263     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputTable
264     * @return boolean
265     */
266    public boolean isInputTable();
267
268    /**
269     * TODO: Model Documentation for
270     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputText
271     * @return boolean
272     */
273    public boolean isInputText();
274
275    /**
276     * TODO: Model Documentation for
277     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputTextarea
278     * @return boolean
279     */
280    public boolean isInputTextarea();
281
282    /**
283     * TODO: Model Documentation for
284     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.inputTypePresent
285     * @return boolean
286     */
287    public boolean isInputTypePresent();
288
289    /**
290     * True if this attribute is of a type that cannot easily be represented as a textual string and
291     * would be an ideal candidate for HTTP's support for file-upload.
292     * @return boolean
293     */
294    public boolean isNeedsFileUpload();
295
296    /**
297     * TODO: Model Documentation for
298     * org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttribute.plaintext
299     * @return boolean
300     */
301    public boolean isPlaintext();
302
303    /**
304     * True if this field is a date type and the date format is not be interpreted strictly.
305     * @return boolean
306     */
307    public boolean isStrictDateFormat();
308
309    /**
310     * Indicates whether or not this attribute requires some kind of validation (the collection of
311     * validator types is not empty).
312     * @return boolean
313     */
314    public boolean isValidationRequired();
315}