Mercury-IM/domain/src/main/java/org/jivesoftware/smackx/ikey/element/SubordinateListElement.java

48 lines
1.4 KiB
Java
Raw Normal View History

2020-08-16 15:14:19 +02:00
package org.jivesoftware.smackx.ikey.element;
import org.jivesoftware.smack.packet.NamedElement;
2020-08-16 15:14:19 +02:00
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.ikey.IkeyConstants;
import org.jxmpp.jid.EntityBareJid;
2020-08-16 15:14:19 +02:00
import java.util.List;
public class SubordinateListElement implements NamedElement {
2020-08-16 15:14:19 +02:00
public static final String NAMESPACE = IkeyConstants.NAMESPACE;
public static final String ELEMENT = "subordinates";
public static final String ATTR_JID = "jid";
2020-08-16 15:14:19 +02:00
private final List<SubordinateElement> subordinates;
private final EntityBareJid jid;
2020-08-16 15:14:19 +02:00
public SubordinateListElement(EntityBareJid jid, List<SubordinateElement> subordinates) {
this.jid = jid;
2020-08-16 15:14:19 +02:00
this.subordinates = Objects.requireNonNullNorEmpty(subordinates, "List of subordinates MUST NOT be null nor empty.");
}
public EntityBareJid getJid() {
return jid;
}
public List<SubordinateElement> getSubordinates() {
return subordinates;
2020-08-16 15:14:19 +02:00
}
@Override
public String getElementName() {
return ELEMENT;
}
@Override
public XmlStringBuilder toXML(XmlEnvironment xmlEnvironment) {
return new XmlStringBuilder(this)
.attribute(ATTR_JID, getJid())
2020-08-16 15:14:19 +02:00
.rightAngleBracket()
.append(getSubordinates())
2020-08-16 15:14:19 +02:00
.closeElement(this);
}
}