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}