mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-29 09:42:06 +01:00
Add Date API methods to FormField values
This commit is contained in:
parent
298bcc8097
commit
d26baeb66f
1 changed files with 31 additions and 0 deletions
|
@ -17,8 +17,10 @@
|
||||||
|
|
||||||
package org.jivesoftware.smackx.xdata;
|
package org.jivesoftware.smackx.xdata;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.jivesoftware.smack.packet.NamedElement;
|
import org.jivesoftware.smack.packet.NamedElement;
|
||||||
|
@ -27,6 +29,8 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
|
|
||||||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement;
|
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement;
|
||||||
|
|
||||||
|
import org.jxmpp.util.XmppDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a field of a form. The field could be used to represent a question to complete,
|
* 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
|
* a completed question or a data returned from a search. The exact interpretation of the field
|
||||||
|
@ -266,6 +270,21 @@ public class FormField implements NamedElement {
|
||||||
return firstValue.toString();
|
return firstValue.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the first value of this form field as XEP-0082 date/time format and returns a date instance or {@code null}.
|
||||||
|
*
|
||||||
|
* @return a Date instance representing the date/time information of the first value of this field.
|
||||||
|
* @throws ParseException if parsing fails.
|
||||||
|
* @since 4.3.0
|
||||||
|
*/
|
||||||
|
public Date getFirstValueAsDate() throws ParseException {
|
||||||
|
String valueString = getFirstValue();
|
||||||
|
if (valueString == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return XmppDateTime.parseXEP0082Date(valueString);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the variable name that the question is filling out.
|
* Returns the variable name that the question is filling out.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -361,6 +380,18 @@ public class FormField implements NamedElement {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the given Date as XEP-0082 formated string by invoking {@link #addValue(CharSequence)} after the date
|
||||||
|
* instance was formated.
|
||||||
|
*
|
||||||
|
* @param date the date instance to add as XEP-0082 formated string.
|
||||||
|
* @since 4.3.0
|
||||||
|
*/
|
||||||
|
public void addValue(Date date) {
|
||||||
|
String dateString = XmppDateTime.formatXEP0082Date(date);
|
||||||
|
addValue(dateString);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a default values to the question if the question is part of a form to fill out.
|
* Adds a default values to the question if the question is part of a form to fill out.
|
||||||
* Otherwise, adds an answered values to the question.
|
* Otherwise, adds an answered values to the question.
|
||||||
|
|
Loading…
Reference in a new issue