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}