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.
| 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 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)
Deprecated.
|
DataForm(DataForm.Type type,
String title,
Collection<DataForm.Field> fields,
Collection<DataForm.Field> reportedFields,
Collection<DataForm.Item> items,
Collection<String> instructions,
Collection<Page> pages) |
DataForm(DataForm.Type type,
String title,
String... instructions)
Deprecated.
|
| 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.
|
Date |
findValueAsDate(String var)
Finds the field and gets its value as date.
|
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.
|
static boolean |
parseBoolean(String value)
Parses a value as boolean.
|
void |
setTitle(String title)
Deprecated.
Use constructor.
|
void |
setType(DataForm.Type type)
Deprecated.
Use constructor.
|
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)
@Deprecated public DataForm(DataForm.Type type, String title)
type - The form type.title - The form title.@Deprecated public DataForm(DataForm.Type type, String title, String... instructions)
type - The form type.title - The form title.instructions - The instructions.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 static boolean parseBoolean(String value)
value - The value.public String findValue(String var)
var - The field name.public List<String> findValues(String var)
var - The field name.public boolean findValueAsBoolean(String var)
var - The field name.public Integer findValueAsInteger(String var)
var - The field name.public Date findValueAsDate(String var)
var - The field name.public Jid findValueAsJid(String var)
var - The field name.public List<Jid> findValuesAsJid(String var)
var - The field name.public String getFormType()
public 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.
@Deprecated public void setTitle(String title)
title - The title.getTitle()public List<DataForm.Field> getFields()
public 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 DataForm.Type getType()
@Deprecated public void setType(DataForm.Type type)
type - The form type.getType()public List<DataForm.Field> getReportedFields()
public List<DataForm.Item> getItems()
public DataForm.Field findField(String name)
name - The name.public int compareTo(DataForm o)
compareTo in interface Comparable<DataForm>o - The other data form.Copyright © 2014–2015 XMPP.rocks. All rights reserved.