public class FormField extends Object implements NamedElement
Modifier and Type | Class and Description |
---|---|
static class |
FormField.Option
Represents the available option of a given FormField.
|
static class |
FormField.Type
Form Field Types as defined in XEP-4 § 3.3.
|
Modifier and Type | Field and Description |
---|---|
static String |
ELEMENT |
static String |
FORM_TYPE
The constant String "FORM_TYPE".
|
Constructor and Description |
---|
FormField()
Creates a new FormField of type FIXED.
|
FormField(String variable)
Creates a new FormField with the variable name that uniquely identifies the field
in the context of the form.
|
Modifier and Type | Method and Description |
---|---|
void |
addOption(FormField.Option option)
Adss an available options to the question that the user has in order to answer
the question.
|
void |
addValue(CharSequence value)
Adds a default value to the question if the question is part of a form to fill out.
|
void |
addValue(Date date)
Adds the given Date as XEP-0082 formated string by invoking
addValue(CharSequence) after the date
instance was formated. |
void |
addValues(List<? extends CharSequence> newValues)
Adds a default values to the question if the question is part of a form to fill out.
|
boolean |
equals(Object obj) |
String |
getDescription()
Returns a description that provides extra clarification about the question.
|
String |
getElementName()
Returns the root element name.
|
String |
getFirstValue()
Returns the first value of this form fold or
null . |
Date |
getFirstValueAsDate()
Parses the first value of this form field as XEP-0082 date/time format and returns a date instance or
null . |
String |
getLabel()
Returns the label of the question which should give enough information to the user to
fill out the form.
|
List<FormField.Option> |
getOptions()
Returns a List of the available options that the user has in order to answer
the question.
|
FormField.Type |
getType()
Returns an indicative of the format for the data to answer.
|
ValidateElement |
getValidateElement()
Get validate element.
|
List<CharSequence> |
getValues()
Returns a List of the default values of the question if the question is part
of a form to fill out.
|
List<String> |
getValuesAsString()
Returns the values a String.
|
String |
getVariable()
Returns the variable name that the question is filling out.
|
int |
hashCode() |
boolean |
isRequired()
Returns true if the question must be answered in order to complete the questionnaire.
|
protected void |
resetValues()
Removes all the values of the field.
|
void |
setDescription(String description)
Sets a description that provides extra clarification about the question.
|
void |
setLabel(String label)
Sets the label of the question which should give enough information to the user to
fill out the form.
|
void |
setRequired(boolean required)
Sets if the question must be answered in order to complete the questionnaire.
|
void |
setType(FormField.Type type)
Sets an indicative of the format for the data to answer.
|
void |
setValidateElement(ValidateElement validateElement)
Set validate element.
|
XmlStringBuilder |
toXML(String enclosingNamespace)
Returns the XML representation of this Element.
|
public static final String ELEMENT
public static final String FORM_TYPE
public FormField(String variable)
variable
- the variable name of the question.public FormField()
public String getDescription()
If the question is of type FIXED then the description should remain empty.
public String getLabel()
public List<FormField.Option> getOptions()
public boolean isRequired()
public FormField.Type getType()
FormField.Type
public List<CharSequence> getValues()
public List<String> getValuesAsString()
getValues()
whenever possible instead of this
method.getValues()
public String getFirstValue()
null
.null
public Date getFirstValueAsDate() throws ParseException
null
.ParseException
- if parsing fails.public String getVariable()
According to XEP-4 § 3.2 the variable name (the 'var' attribute) "uniquely identifies the field in the context of the form" (if the field is not of type 'fixed', in which case the field "MAY possess a 'var' attribute")
public ValidateElement getValidateElement()
public void setDescription(String description)
If the question is of type FIXED then the description should remain empty.
description
- provides extra clarification about the question.public void setLabel(String label)
label
- the label of the question.public void setRequired(boolean required)
required
- if the question must be answered in order to complete the questionnaire.public void setValidateElement(ValidateElement validateElement)
validateElement
- the validateElement to setpublic void setType(FormField.Type type)
This method will throw an IllegalArgumentException if type is 'fixed'. To create FormFields of type 'fixed' use
FormField()
instead.
type
- an indicative of the format for the data to answer.IllegalArgumentException
- if type is 'fixed'.FormField.Type
public void addValue(CharSequence value)
value
- a default value or an answered value of the question.public void addValue(Date date)
addValue(CharSequence)
after the date
instance was formated.date
- the date instance to add as XEP-0082 formated string.public void addValues(List<? extends CharSequence> newValues)
newValues
- default values or an answered values of the question.protected void resetValues()
public void addOption(FormField.Option option)
option
- a new available option for the question.public String getElementName()
NamedElement
getElementName
in interface NamedElement
public XmlStringBuilder toXML(String enclosingNamespace)
Element