package com.sissi.context.impl; import com.sissi.context.Status; import com.sissi.context.StatusClauses; import com.sissi.protocol.presence.PresenceType; /** * 离线出席状态 * * @author kim 2014年1月26日 */ class OfflineStatus implements Status { /** * 全局离线出席状态 */ public final static OfflineStatus STATUS = new OfflineStatus(); private final StatusClauses status; private OfflineStatus() { this.status = new EmptyClauses(); } /** * 指定JID离线出席状态 * * @param status */ OfflineStatus(StatusClauses status) { this.status = status; } public Status clear() { return this; } @Override public Status clauses(StatusClauses clauses) { return this; } @Override public StatusClauses clauses() { return this.status; } private class EmptyClauses implements StatusClauses { private EmptyClauses() { } @Override public String find(String key) { switch (key) { case StatusClauses.KEY_TYPE: return PresenceType.UNAVAILABLE.toString(); } return null; } } }