001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.jsf.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.jsf.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.jsf.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.jsf.metafacades.JSFManageableEntityAttribute.dateFormatter
044     * @return String
045     */
046    public String getDateFormatter();
047
048    /**
049     * TODO: Model Documentation for
050     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.defaultDateFormat
051     * @return String
052     */
053    public String getDefaultDateFormat();
054
055    /**
056     * TODO: Model Documentation for
057     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.defaultTimeFormat
058     * @return String
059     */
060    public String getDefaultTimeFormat();
061
062    /**
063     * TODO: Model Documentation for
064     * org.andromda.cartridges.jsf.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.jsf.metafacades.JSFManageableEntityAttribute.format
087     * @return String
088     */
089    public String getFormat();
090
091    /**
092     * TODO: Model Documentation for
093     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputTableIdentifierColumns
094     * @return String
095     */
096    public String getInputTableIdentifierColumns();
097
098    /**
099     * TODO: Model Documentation for
100     * org.andromda.cartridges.jsf.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.jsf.metafacades.JSFManageableEntityAttribute.messageKey
114     * @return String
115     */
116    public String getMessageKey();
117
118    /**
119     * TODO: Model Documentation for
120     * org.andromda.cartridges.jsf.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.jsf.metafacades.JSFManageableEntityAttribute.timeFormatter
142     * @return String
143     */
144    public String getTimeFormatter();
145
146    /**
147     * TODO: Model Documentation for
148     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.validWhen
149     * @return String
150     */
151    public String getValidWhen();
152
153    /**
154     * TODO: Model Documentation for
155     * org.andromda.cartridges.jsf.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.jsf.metafacades.JSFManageableEntityAttribute.valueListDummyValue
176     * @return String
177     */
178    public String getValueListDummyValue();
179
180    /**
181     * TODO: Model Documentation for
182     * org.andromda.cartridges.jsf.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     * TODO: Model Documentation for
195     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.equalValidator
196     * @return boolean
197     */
198    public boolean isEqualValidator();
199
200    /**
201     * Whether or not this attribute should be hidden from the view
202     * @return boolean
203     */
204    public boolean isHidden();
205
206    /**
207     * TODO: Model Documentation for
208     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputCheckbox
209     * @return boolean
210     */
211    public boolean isInputCheckbox();
212
213    /**
214     * TODO: Model Documentation for
215     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputFile
216     * @return boolean
217     */
218    public boolean isInputFile();
219
220    /**
221     * TODO: Model Documentation for
222     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputHidden
223     * @return boolean
224     */
225    public boolean isInputHidden();
226
227    /**
228     * TODO: Model Documentation for
229     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputMultibox
230     * @return boolean
231     */
232    public boolean isInputMultibox();
233
234    /**
235     * TODO: Model Documentation for
236     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputRadio
237     * @return boolean
238     */
239    public boolean isInputRadio();
240
241    /**
242     * TODO: Model Documentation for
243     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputSecret
244     * @return boolean
245     */
246    public boolean isInputSecret();
247
248    /**
249     * TODO: Model Documentation for
250     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputSelect
251     * @return boolean
252     */
253    public boolean isInputSelect();
254
255    /**
256     * TODO: Model Documentation for
257     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputTable
258     * @return boolean
259     */
260    public boolean isInputTable();
261
262    /**
263     * TODO: Model Documentation for
264     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputText
265     * @return boolean
266     */
267    public boolean isInputText();
268
269    /**
270     * TODO: Model Documentation for
271     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputTextarea
272     * @return boolean
273     */
274    public boolean isInputTextarea();
275
276    /**
277     * TODO: Model Documentation for
278     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.inputTypePresent
279     * @return boolean
280     */
281    public boolean isInputTypePresent();
282
283    /**
284     * True if this attribute is of a type that cannot easily be represented as a textual string and
285     * would be an ideal candidate for HTTP's support for file-upload.
286     * @return boolean
287     */
288    public boolean isNeedsFileUpload();
289
290    /**
291     * TODO: Model Documentation for
292     * org.andromda.cartridges.jsf.metafacades.JSFManageableEntityAttribute.plaintext
293     * @return boolean
294     */
295    public boolean isPlaintext();
296
297    /**
298     * True if this field is a date type and the date format is not be interpreted strictly.
299     * @return boolean
300     */
301    public boolean isStrictDateFormat();
302
303    /**
304     * Indicates whether or not this attribute requires some kind of validation (the collection of
305     * validator types is not empty).
306     * @return boolean
307     */
308    public boolean isValidationRequired();
309}