Package org.xmpp.forms
Class FormField
java.lang.Object
org.xmpp.forms.FormField
Represents a field of a form. The field could be used to represent a question to complete,
a completed question or a data returned from a search. The exact interpretation of the field
depends on the context where the field is used.
- Author:
- Gaston Dombiak
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRepresents the available option of a given FormField.static enumType-safe enumeration to represent the field type of the Data forms. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds an available option to the question that the user has in order to answer the question.voidAdds a default value to the question if the question is part of a form to fill out.voidRemoves all the values of the field.Creates and returns a new object that is an exact copy of this FormField object.Returns a description that provides extra clarification about the question.Returns the first value from the FormField, or 'null' if no value has been set.getLabel()Returns the label of the question which should give enough information to the user to fill out the form.Returns the available options to answer for this question.getType()Returns an indicative of the format for the data to answer.Returns an Iterator for the default values of the question if the question is part of a form to fill out.Returns the variable name that the question is filling out.booleanReturns true if the question must be answered in order to complete the questionnaire.voidsetDescription(String description) Sets a description that provides extra clarification about the question.voidSets the label of the question which should give enough information to the user to fill out the form.voidsetRequired(boolean required) Sets if the question must be answered in order to complete the questionnaire.voidsetType(FormField.Type type) Sets an indicative of the format for the data to answer.voidsetVariable(String var) Sets the attribute that uniquely identifies the field in the context of the form.
-
Method Details
-
addValue
Adds a default value to the question if the question is part of a form to fill out. Otherwise, adds an answered value to the question.Nothing will be added if the provided argument is
null.- Parameters:
value- a default value or an answered value of the question.
-
clearValues
public void clearValues()Removes all the values of the field. -
addOption
Adds an available option to the question that the user has in order to answer the question.If argument 'value' is
nullor an empty String, no option element will be added.- Parameters:
label- a label that represents the option. Optional argument.value- the value of the option.
-
getOptions
Returns the available options to answer for this question. The returned options cannot be modified but they will be updated if the underlying DOM object gets updated.- Returns:
- the available options to answer for this question.
-
setType
Sets an indicative of the format for the data to answer. Valid formats are:- text-single -> single line or word of text
- text-private -> instead of showing the user what they typed, you show ***** to protect it
- text-multi -> multiple lines of text entry
- list-single -> given a list of choices, pick one
- list-multi -> given a list of choices, pick one or more
- boolean -> 0 or 1, true or false, yes or no. Default value is 0
- fixed -> fixed for putting in text to show sections, or just advertise your web site in the middle of the form
- hidden -> is not given to the user at all, but returned with the questionnaire
- jid-single -> Jabber ID - choosing a JID from your roster, and entering one based on the rules for a JID.
- jid-multi -> multiple entries for JIDs
- Parameters:
type- an indicative of the format for the data to answer.
-
setVariable
Sets the attribute that uniquely identifies the field in the context of the form. If the field is of type "fixed" then the variable is optional.- Parameters:
var- the unique identifier of the field in the context of the form.
-
setLabel
Sets the label of the question which should give enough information to the user to fill out the form.- Parameters:
label- the label of the question.
-
setRequired
public void setRequired(boolean required) Sets if the question must be answered in order to complete the questionnaire.- Parameters:
required- if the question must be answered in order to complete the questionnaire.
-
setDescription
Sets a description that provides extra clarification about the question. This information could be presented to the user either in tool-tip, help button, or as a section of text before the question.If the question is of type FIXED then the description should remain empty.
No new description will be set, if the provided argument is
nullor an empty String (although an existing description will be removed).- Parameters:
description- provides extra clarification about the question.
-
isRequired
public boolean isRequired()Returns true if the question must be answered in order to complete the questionnaire.- Returns:
- true if the question must be answered in order to complete the questionnaire.
-
getVariable
Returns the variable name that the question is filling out.- Returns:
- the variable name of the question.
-
getValues
Returns an Iterator for the default values of the question if the question is part of a form to fill out. Otherwise, returns an Iterator for the answered values of the question.- Returns:
- an Iterator for the default values or answered values of the question.
-
getFirstValue
Returns the first value from the FormField, or 'null' if no value has been set.- Returns:
- String based value, or 'null' if the FormField has no values.
-
getType
Returns an indicative of the format for the data to answer. Valid formats are:- text-single -> single line or word of text
- text-private -> instead of showing the user what they typed, you show ***** to protect it
- text-multi -> multiple lines of text entry
- list-single -> given a list of choices, pick one
- list-multi -> given a list of choices, pick one or more
- boolean -> 0 or 1, true or false, yes or no. Default value is 0
- fixed -> fixed for putting in text to show sections, or just advertise your web site in the middle of the form
- hidden -> is not given to the user at all, but returned with the questionnaire
- jid-single -> Jabber ID - choosing a JID from your roster, and entering one based on the rules for a JID.
- jid-multi -> multiple entries for JIDs
- Returns:
- format for the data to answer.
-
getLabel
Returns the label of the question which should give enough information to the user to fill out the form.- Returns:
- label of the question.
-
getDescription
Returns a description that provides extra clarification about the question. This information could be presented to the user either in tool-tip, help button, or as a section of text before the question.If the question is of type FIXED then the description should remain empty.
- Returns:
- description that provides extra clarification about the question.
-
createCopy
Creates and returns a new object that is an exact copy of this FormField object.- Returns:
- an exact copy of this instance.
-