summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/elements/Form.java')
-rw-r--r--src/com/isode/stroke/elements/Form.java81
1 files changed, 79 insertions, 2 deletions
diff --git a/src/com/isode/stroke/elements/Form.java b/src/com/isode/stroke/elements/Form.java
index 8068f28..a6ff0c2 100644
--- a/src/com/isode/stroke/elements/Form.java
+++ b/src/com/isode/stroke/elements/Form.java
@@ -108,6 +108,10 @@ public class Form extends Payload {
}
}
+ private List<FormReportedRef> reportedRefs_ = new ArrayList<FormReportedRef>();
+ private List<FormText> textElements_ = new ArrayList<FormText>();
+ private List<FormPage> pages_ = new ArrayList<FormPage>();
+ private FormReportedRef reportedRef_;
private List<FormField> fields_ = new ArrayList<FormField>();
private List<FormField> reportedFields_ = new ArrayList<FormField>();
private List<FormItem> items_ = new ArrayList<FormItem>();
@@ -132,6 +136,51 @@ public class Form extends Payload {
}
/**
+ * @param reportedRef, Not Null.
+ */
+ public void addReportedRef(FormReportedRef reportedRef) {
+ assert(reportedRef != null);
+ reportedRefs_.add(reportedRef);
+ }
+
+ /**
+ * @return reportedRef, Not Null.
+ */
+ public List<FormReportedRef> getReportedRefs() {
+ return reportedRefs_;
+ }
+
+ /**
+ * @param text, Not Null.
+ */
+ public void addTextElement(FormText text) {
+ assert(text != null);
+ textElements_.add(text);
+ }
+
+ /**
+ * @return text, Not Null.
+ */
+ public List<FormText> getTextElements() {
+ return textElements_;
+ }
+
+ /**
+ * @return page, Not Null.
+ */
+ public void addPage(FormPage page) {
+ assert(page != null);
+ pages_.add(page);
+ }
+
+ /**
+ * @return pages, Not Null.
+ */
+ public List<FormPage> getPages() {
+ return pages_;
+ }
+
+ /**
* Add to the list of fields for the form.
*
* @param field Field to add, must not be null. The instance of the form
@@ -153,7 +202,11 @@ public class Form extends Payload {
public List<FormField> getFields() {
return new ArrayList<FormField>(fields_);
}
-
+
+ public void clearFields() {
+ fields_.clear();
+ }
+
/**
* Add a reported element to this Form.
* @param reportedField should not be null
@@ -183,7 +236,11 @@ public class Form extends Payload {
}
items_.add(item);
}
-
+
+ public void clearItems() {
+ items_.clear();
+ }
+
/**
* Get the list of FormItem elements for the form.
* @return itemsCopy ArrayList<List<FormItem>>, list of items for the Form,
@@ -295,6 +352,26 @@ public class Form extends Payload {
return null;
}
+ public void clearEmptyTextFields() {
+ List<FormField> populatedFields = new ArrayList<FormField>();
+ for (FormField field : fields_) {
+ if (field.getType() == FormField.Type.TEXT_SINGLE_TYPE) {
+ if (!field.getTextSingleValue().isEmpty()) {
+ populatedFields.add(field);
+ }
+ }
+ else if (field.getType() == FormField.Type.TEXT_MULTI_TYPE) {
+ if (!field.getTextMultiValue().isEmpty()) {
+ populatedFields.add(field);
+ }
+ }
+ else {
+ populatedFields.add(field);
+ }
+ }
+ fields_ = populatedFields;
+ }
+
@Override
public String toString() {
return Form.class.getSimpleName() + "\ntitle: " + title_