InfoQuery.java

 1package im.conversations.android.xmpp.model.disco.info;
 2
 3import com.google.common.collect.Iterables;
 4import im.conversations.android.annotation.XmlElement;
 5import im.conversations.android.xmpp.model.Extension;
 6import java.util.Collection;
 7
 8@XmlElement(name = "query")
 9public class InfoQuery extends Extension {
10
11    public InfoQuery() {
12        super(InfoQuery.class);
13    }
14
15    public void setNode(final String node) {
16        this.setAttribute("node", node);
17    }
18
19    public String getNode() {
20        return this.getAttribute("node");
21    }
22
23    public Collection<Feature> getFeatures() {
24        return this.getExtensions(Feature.class);
25    }
26
27    public boolean hasFeature(final String feature) {
28        return Iterables.any(getFeatures(), f -> feature.equals(f.getVar()));
29    }
30
31    public Collection<Identity> getIdentities() {
32        return this.getExtensions(Identity.class);
33    }
34
35    public boolean hasIdentityWithCategory(final String category) {
36        return Iterables.any(getIdentities(), i -> category.equals(i.getCategory()));
37    }
38}