Class DataForm
java.lang.Object
org.jivesoftware.smackx.xdata.packet.DataForm
- All Implemented Interfaces:
Element
,ExtensionElement
,NamedElement
,XmlElement
,XmlLangElement
Represents a form that could be use for gathering data as well as for reporting data
returned from a search.
Note that unlike many other things in XMPP, the order of the form fields is actually Important in data forms.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
static class
Represents items of reported data.static class
Represents the fields that will be returned from a search.static enum
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic DataForm.Builder
builder()
Get a new data form builder with the form type set toDataForm.Type.submit
.static DataForm.Builder
builder
(DataForm.Type type) static DataForm
from
(Collection<DataForm> dataForms, String formType) Return the first matching data form with the given form type from the given collection of data forms.static DataForm
from
(StanzaView stanzaView) Get data form from a stanza.static DataForm
from
(StanzaView stanzaView, String formType) Get the data form with the given form type from a stanza view.Returns the root element name.Return the form field with the given variable name or null.Returns a List of the fields that are part of the form.Return the form type from the hidden form type field.Returns the hidden FORM_TYPE field or null if this data form has none.Returns a List of the list of instructions that explain how to fill out the form and what the form is about.getItems()
Returns a List of the items returned from a search.Returns the root element XML namespace.Returns the fields that will be returned from a search.getTitle()
Returns the description of the data.getType()
Returns the meaning of the data within the context.boolean
Check if a form field with the given variable name exists.boolean
Returns true if this DataForm has at least one FORM_TYPE field which is hidden.static DataForm
remove
(Collection<DataForm> dataForms, String formType) Remove the first matching data form with the given form type from the given collection.toXML
(XmlEnvironment xmlEnvironment) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jivesoftware.smack.packet.XmlElement
getLanguage, getQName
-
Field Details
-
NAMESPACE
- See Also:
-
ELEMENT
- See Also:
-
QNAME
-
-
Method Details
-
getType
Returns the meaning of the data within the context. The data could be part of a form to fill out, a form submission or data results.- Returns:
- the form's type.
-
getTitle
Returns the description of the data. It is similar to the title on a web page or an X window. You can put a <title/> on either a form to fill out, or a set of data results.- Returns:
- description of the data.
-
getInstructions
Returns a List of the list of instructions that explain how to fill out the form and what the form is about. The dataform could include multiple instructions since each instruction could not contain newlines characters. Join the instructions together in order to show them to the user.- Returns:
- a List of the list of instructions that explain how to fill out the form.
-
getReportedData
Returns the fields that will be returned from a search.- Returns:
- fields that will be returned from a search.
-
getItems
Returns a List of the items returned from a search.- Returns:
- a List of the items returned from a search.
-
getFields
Returns a List of the fields that are part of the form.- Returns:
- a List of the fields that are part of the form.
-
getField
Return the form field with the given variable name or null.- Parameters:
fieldName
- the name of the field (the value of the 'var' (variable) attribute)- Returns:
- the form field or null.
- Since:
- 4.1
-
hasField
Check if a form field with the given variable name exists.- Parameters:
fieldName
- the name of the field.- Returns:
- true if a form field with the variable name exists, false otherwise.
- Since:
- 4.2
-
getElementName
Description copied from interface:NamedElement
Returns the root element name.- Specified by:
getElementName
in interfaceNamedElement
- Returns:
- the element name.
-
getNamespace
Description copied from interface:XmlElement
Returns the root element XML namespace.- Specified by:
getNamespace
in interfaceXmlElement
- Returns:
- the namespace.
-
getExtensionElements
-
getFormType
Return the form type from the hidden form type field.- Returns:
- the form type or
null
if this form has none set. - Since:
- 4.4.0
-
getHiddenFormTypeField
Returns the hidden FORM_TYPE field or null if this data form has none.- Returns:
- the hidden FORM_TYPE field or null.
- Since:
- 4.1
-
hasHiddenFormTypeField
Returns true if this DataForm has at least one FORM_TYPE field which is hidden. This method is used for sanity checks.- Returns:
- true if there is at least one field which is hidden.
-
toXML
-
asBuilder
-
from
Get data form from a stanza.- Parameters:
stanzaView
- the stanza to get data form from.- Returns:
- the DataForm or null
-
from
Get the data form with the given form type from a stanza view.- Parameters:
stanzaView
- the stanza view to retrieve the data form fromformType
- the form type- Returns:
- the retrieved data form or
null
if there is no matching one - Since:
- 4.4.0
-
from
Return the first matching data form with the given form type from the given collection of data forms.- Parameters:
dataForms
- the collection of data formsformType
- the form type to match for- Returns:
- the first matching data form or
null
if there is none - Since:
- 4.4.0
-
remove
Remove the first matching data form with the given form type from the given collection.- Parameters:
dataForms
- the collection of data formsformType
- the form type to match for- Returns:
- the removed data form or
null
if there was none removed - Since:
- 4.4.0
-
builder
Get a new data form builder with the form type set toDataForm.Type.submit
.- Returns:
- a new data form builder.
-
builder
-