package com.sissi.protocol.iq.bind;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import com.sissi.io.read.Collector;
import com.sissi.io.read.Metadata;
import com.sissi.protocol.Protocol;
/**
* @author Kim.shen 2013-10-20
*/
@Metadata(uri = Bind.XMLNS, localName = Bind.NAME)
@XmlType(namespace = Bind.XMLNS)
@XmlRootElement
public class Bind extends Protocol implements Collector {
public final static String XMLNS = "urn:ietf:params:xml:ns:xmpp-bind";
public final static String NAME = "bind";
private String jid;
private Resource resource;
public Bind() {
super();
}
public Bind(String resource) {
super();
this.resource = new Resource(resource);
}
@XmlElement
public String getJid() {
return this.jid;
}
public Bind setJid(String jid) {
this.jid = jid;
return this;
}
public Bind setResource(String resourc){
return this;
}
@XmlElement
public Resource getResource() {
return this.resource;
}
@XmlAttribute
public String getXmlns() {
return XMLNS;
}
public boolean hasResource() {
return this.resource != null && this.resource.hasResource();
}
public Bind clear() {
super.clear();
this.jid = null;
this.resource = null;
return this;
}
@Override
public void set(String localName, Object ob) {
this.resource = Resource.class.cast(ob);
}
}