package com.sissi.server.getout.impl;
import com.sissi.context.JIDContext;
import com.sissi.pipeline.Input;
import com.sissi.protocol.presence.Presence;
import com.sissi.protocol.presence.PresenceType;
import com.sissi.server.getout.Getout;
import com.sissi.ucenter.vcard.VCardContext;
/**
* 强制离席
*
* @author kim 2013-11-20
*/
public class PresenceGetout implements Getout {
private final Input proxy;
private final VCardContext vCardContext;
public PresenceGetout(Input proxy, VCardContext vCardContext) {
super();
this.proxy = proxy;
this.vCardContext = vCardContext;
}
@Override
public PresenceGetout getout(JIDContext context) {
this.proxy.input(context, new Presence().setFrom(context.jid()).status(this.vCardContext.pull(context.jid(), VCardContext.FIELD_SIGNATURE).getValue()).type(PresenceType.UNAVAILABLE));
return this;
}
}