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