package com.sissi.protocol.iq.version;
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 2014年2月20日
*/
@Metadata(uri = Client.XMLNS, localName = Client.NAME)
@XmlType(namespace = Client.XMLNS)
@XmlRootElement(name = Client.NAME)
public class Client extends Protocol implements Collector {
public final static String XMLNS = "jabber:iq:version";
public final static String NAME = "query";
private ClientOS os;
private ClientName name;
private ClientVersion version;
@XmlElement(name = ClientOS.NAME)
public ClientOS getOs() {
return this.os;
}
@XmlElement(name = ClientName.NAME)
public ClientName getName() {
return this.name;
}
@XmlElement(name = ClientVersion.NAME)
public ClientVersion getVersion() {
return this.version;
}
@XmlAttribute
public String getXmlns() {
return XMLNS;
}
@Override
public void set(String localName, Object ob) {
switch (localName) {
case ClientOS.NAME:
this.os = ClientOS.class.cast(ob);
return;
case ClientName.NAME:
this.name = ClientName.class.cast(ob);
return;
case ClientVersion.NAME:
this.version = ClientVersion.class.cast(ob);
return;
}
}
}