public final class DataForm extends Object implements Comparable<DataForm>
<x/> element in the jabber:x:data namespace, which represents data forms.
This specification defines an XMPP protocol extension for data forms that can be used in workflows such as service configuration as well as for application-specific data description and reporting. The protocol includes lightweight semantics for forms processing (such as request, response, submit, and cancel), defines several common field types (boolean, list options with single or multiple choice, text with single line or multiple lines, single or multiple JabberIDs, hidden fields, etc.), provides extensibility for future data types, and can be embedded in a wide range of applications. The protocol is not intended to provide complete forms-processing functionality as is provided in the W3C XForms technology, but instead provides a basic subset of such functionality for use by XMPP entities.
This class is immutable.
| Modifier and Type | Class and Description |
|---|---|
static class |
DataForm.Builder<T extends DataForm.Builder<T>>
An abstract builder to build simple data forms.
|
static class |
DataForm.Field
A data form field.
|
static class |
DataForm.Item
An item which can be understood as a table row.
|
static class |
DataForm.Option
Defines an option in a field of type
DataForm.Field.Type.LIST_SINGLE or DataForm.Field.Type.LIST_MULTI. |
static class |
DataForm.Type
The form type.
|
| Modifier and Type | Field and Description |
|---|---|
static String |
FORM_TYPE
The name of the hidden field, which determines the form type, "FORM_TYPE".
|
static String |
NAMESPACE
jabber:x:data
|
| Constructor and Description |
|---|
DataForm(DataForm.Builder<? extends DataForm.Builder> builder) |
DataForm(DataForm.Type type)
Creates a data form.
|
DataForm(DataForm.Type type,
Collection<DataForm.Field> fields)
Creates a data form.
|
DataForm(DataForm.Type type,
String title,
Collection<DataForm.Field> fields,
Collection<DataForm.Field> reportedFields,
Collection<DataForm.Item> items,
Collection<String> instructions,
Collection<Page> pages) |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(DataForm o)
Compares this data form with another data form.
|
DataForm.Field |
findField(String name)
Finds a field by its name ('ver' attribute).
|
String |
findValue(String var)
Gets the value for a specific field.
|
boolean |
findValueAsBoolean(String var)
Finds the field and gets the value as boolean.
|
Instant |
findValueAsInstant(String var)
Finds the field and gets its value as instant.
|
Integer |
findValueAsInteger(String var)
Finds the field and gets its value as integer.
|
Jid |
findValueAsJid(String var)
Finds the field and gets the value as JID.
|
List<String> |
findValues(String var)
Gets the values for a specific field.
|
List<Jid> |
findValuesAsJid(String var)
Finds the field and gets its values as JID list.
|
List<DataForm.Field> |
getFields()
Gets the fields of the form.
|
String |
getFormType()
Gets the form type of this form, i.e. the value of the "FORM_TYPE" field.
|
List<String> |
getInstructions()
Gets the instructions of the form.
|
List<DataForm.Item> |
getItems()
Gets the items, which can be understood as "table rows" containing data (if any) that matches the request.
|
List<Page> |
getPages()
Gets the layout pages for this data form.
|
List<DataForm.Field> |
getReportedFields()
Gets the reported fields, which can be understood as "table headers" describing the data to follow.
|
String |
getTitle()
Gets the title of the form.
|
DataForm.Type |
getType()
Gets the type of the form.
|
public static final String NAMESPACE
public static final String FORM_TYPE
public DataForm(DataForm.Type type)
type - The form type.public DataForm(DataForm.Type type, Collection<DataForm.Field> fields)
type - The form type.fields - The fields.public DataForm(DataForm.Builder<? extends DataForm.Builder> builder)
public DataForm(DataForm.Type type, String title, Collection<DataForm.Field> fields, Collection<DataForm.Field> reportedFields, Collection<DataForm.Item> items, Collection<String> instructions, Collection<Page> pages)
public final String findValue(String var)
var - The field name.public final List<String> findValues(String var)
var - The field name.public final boolean findValueAsBoolean(String var)
var - The field name.public final Integer findValueAsInteger(String var)
var - The field name.public final Instant findValueAsInstant(String var)
var - The field name.public final Jid findValueAsJid(String var)
var - The field name.public final List<Jid> findValuesAsJid(String var)
var - The field name.public final String getFormType()
public final String getTitle()
The OPTIONAL
<title/>and<instructions/>elements enable the form-processing entity to label the form as a whole and specify natural-language instructions to be followed by the form-submitting entity. The XML character data for these elements SHOULD NOT contain newlines (the \n and \r characters), and any handling of newlines (e.g., presentation in a user interface) is unspecified herein; however, multiple instances of the<instructions/>element MAY be included.
public final List<DataForm.Field> getFields()
public final List<String> getInstructions()
The OPTIONAL
<title/>and<instructions/>elements enable the form-processing entity to label the form as a whole and specify natural-language instructions to be followed by the form-submitting entity. The XML character data for these elements SHOULD NOT contain newlines (the \n and \r characters), and any handling of newlines (e.g., presentation in a user interface) is unspecified herein; however, multiple instances of the<instructions/>element MAY be included.
public final DataForm.Type getType()
public final List<DataForm.Field> getReportedFields()
public final List<DataForm.Item> getItems()
public final List<Page> getPages()
public final DataForm.Field findField(String name)
name - The name.public final int compareTo(DataForm o)
compareTo in interface Comparable<DataForm>o - The other data form.Copyright © 2014–2018 XMPP.rocks. All rights reserved.