Inline.java

 1package im.conversations.android.xmpp.model.sasl2;
 2
 3import com.google.common.collect.Collections2;
 4
 5import eu.siacs.conversations.xml.Element;
 6
 7import im.conversations.android.annotation.XmlElement;
 8import im.conversations.android.xmpp.model.Extension;
 9import im.conversations.android.xmpp.model.fast.Fast;
10import im.conversations.android.xmpp.model.fast.Mechanism;
11
12import java.util.Collection;
13import java.util.Collections;
14import java.util.Objects;
15
16@XmlElement
17public class Inline extends Extension {
18
19    public Inline() {
20        super(Inline.class);
21    }
22
23    public Fast getFast() {
24        return this.getExtension(Fast.class);
25    }
26
27    public Collection<String> getFastMechanisms() {
28        final var fast = getFast();
29        final Collection<Mechanism> mechanisms =
30                fast == null ? Collections.emptyList() : fast.getExtensions(Mechanism.class);
31        return Collections2.filter(
32                Collections2.transform(mechanisms, Element::getContent), Objects::nonNull);
33    }
34}