package org.jivesoftware.smackx.ikey.element; import org.jivesoftware.smack.packet.ExtensionElement; import org.jivesoftware.smack.packet.XmlEnvironment; import org.jivesoftware.smack.util.XmlStringBuilder; import org.jivesoftware.smackx.ikey.IkeyConstants; import org.jivesoftware.smackx.ikey.IkeyType; import javax.xml.namespace.QName; public class IkeyElement implements ExtensionElement { public static final String NAMESPACE = IkeyConstants.NAMESPACE; public static final String ELEMENT = "ikey"; public static final String ATTR_IKEY_TYPE = "type"; private static final QName QNAME = new QName(IkeyConstants.NAMESPACE, ELEMENT); private final IkeyType type; private final SubordinateListElement subordinates; private final ProofElement proof; public IkeyElement(IkeyType type, SubordinateListElement subordinates, ProofElement proof) { this.type = type; this.subordinates = subordinates; this.proof = proof; } public IkeyType getType() { return type; } public SubordinateListElement getSubordinates() { return subordinates; } public ProofElement getProof() { return proof; } @Override public String getNamespace() { return NAMESPACE; } @Override public String getElementName() { return ELEMENT; } @Override public XmlStringBuilder toXML(XmlEnvironment xmlEnvironment) { return new XmlStringBuilder(this, xmlEnvironment) .attribute(ATTR_IKEY_TYPE, getType()) .rightAngleBracket() .append(getSubordinates()) .append(getProof()) .closeElement(this); } }