1package im.conversations.android.xmpp.model.data;
2
3import com.google.common.collect.Collections2;
4import com.google.common.collect.Iterables;
5import eu.siacs.conversations.xml.Element;
6import im.conversations.android.annotation.XmlElement;
7import im.conversations.android.xmpp.model.Extension;
8import im.conversations.android.xmpp.model.media.Media;
9import java.util.Collection;
10
11@XmlElement
12public class Field extends Extension {
13 public Field() {
14 super(Field.class);
15 }
16
17 public String getFieldName() {
18 return getAttribute("var");
19 }
20
21 public Collection<String> getValues() {
22 // TODO filter null
23 return Collections2.transform(getExtensions(Value.class), Element::getContent);
24 }
25
26 public String getValue() {
27 return Iterables.getFirst(getValues(), null);
28 }
29
30 public void setFieldName(String name) {
31 this.setAttribute("var", name);
32 }
33
34 public void setType(String type) {
35 this.setAttribute("type", type);
36 }
37
38 public Media getMedia() {
39 return getOnlyExtension(Media.class);
40 }
41}