Reactions.java

 1package im.conversations.android.xmpp.model.reactions;
 2
 3import com.google.common.base.Strings;
 4import com.google.common.collect.Collections2;
 5import im.conversations.android.annotation.XmlElement;
 6import im.conversations.android.xmpp.model.Extension;
 7import java.util.Collection;
 8import java.util.Objects;
 9
10@XmlElement
11public class Reactions extends Extension {
12
13    public Reactions() {
14        super(Reactions.class);
15    }
16
17    public Collection<String> getReactions() {
18        return Collections2.filter(
19                Collections2.transform(getExtensions(Reaction.class), Reaction::getContent),
20                r -> Objects.nonNull(Strings.nullToEmpty(r)));
21    }
22
23    public String getId() {
24        return this.getAttribute("id");
25    }
26
27    public void setId(String id) {
28        this.setAttribute("id", id);
29    }
30
31    public static Reactions to(final String id) {
32        final var reactions = new Reactions();
33        reactions.setId(id);
34        return reactions;
35    }
36}