/** * Sets the agent's current status with the workgroup. The presence mode affects * how offers are routed to the agent. The possible presence modes with their * meanings are as follows:<ul> * * <li>Presence.Mode.AVAILABLE -- (Default) the agent is available for more chats * (equivalent to Presence.Mode.CHAT). * <li>Presence.Mode.DO_NOT_DISTURB -- the agent is busy and should not be disturbed. * However, special case, or extreme urgency chats may still be offered to the agent. * <li>Presence.Mode.AWAY -- the agent is not available and should not * have a chat routed to them (equivalent to Presence.Mode.EXTENDED_AWAY).</ul> * * The max chats value is the maximum number of chats the agent is willing to have * routed to them at once. Some servers may be configured to only accept max chat * values in a certain range; for example, between two and five. In that case, the * maxChats value the agent sends may be adjusted by the server to a value within that * range. * * @param presenceMode the presence mode of the agent. * @param maxChats the maximum number of chats the agent is willing to accept. * @throws XMPPException if an error occurs setting the agent status. * @throws SmackException * @throws InterruptedException * @throws IllegalStateException if the agent is not online with the workgroup. */ public void setStatus(Presence.Mode presenceMode, int maxChats) throws XMPPException, SmackException, InterruptedException { setStatus(presenceMode, maxChats, null); }
/** * Allows the removal of data from the agent's meta data, if the key represents existing data, * the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key. * @throws XMPPException if an exception occurs. * @throws SmackException * @throws InterruptedException */ public void removeMetaData(String key) throws XMPPException, SmackException, InterruptedException { synchronized (this.metaData) { List<String> oldVal = metaData.remove(key); if (oldVal != null) { setStatus(presenceMode, maxChats); } } }
/** * Allows the addition of a new key-value pair to the agent's meta data, if the value is * new data, the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key * @param val the non-null meta data value * @throws XMPPException if an exception occurs. * @throws SmackException * @throws InterruptedException */ public void setMetaData(String key, String val) throws XMPPException, SmackException, InterruptedException { synchronized (this.metaData) { List<String> oldVals = metaData.get(key); if (oldVals == null || !oldVals.get(0).equals(val)) { oldVals.set(0, val); setStatus(presenceMode, maxChats); } } }
/** * Sets the agent's current status with the workgroup. The presence mode affects * how offers are routed to the agent. The possible presence modes with their * meanings are as follows:<ul> * <p/> * <li>Presence.Mode.AVAILABLE -- (Default) the agent is available for more chats * (equivalent to Presence.Mode.CHAT). * <li>Presence.Mode.DO_NOT_DISTURB -- the agent is busy and should not be disturbed. * However, special case, or extreme urgency chats may still be offered to the agent. * <li>Presence.Mode.AWAY -- the agent is not available and should not * have a chat routed to them (equivalent to Presence.Mode.EXTENDED_AWAY).</ul> * <p/> * The max chats value is the maximum number of chats the agent is willing to have * routed to them at once. Some servers may be configured to only accept max chat * values in a certain range; for example, between two and five. In that case, the * maxChats value the agent sends may be adjusted by the server to a value within that * range. * * @param presenceMode the presence mode of the agent. * @param maxChats the maximum number of chats the agent is willing to accept. * @throws XMPPException if an error occurs setting the agent status. * @throws IllegalStateException if the agent is not online with the workgroup. */ public void setStatus(Presence.Mode presenceMode, int maxChats) throws XMPPException { setStatus(presenceMode, maxChats, null); }
/** * Sets the agent's current status with the workgroup. The presence mode affects * how offers are routed to the agent. The possible presence modes with their * meanings are as follows:<ul> * <p/> * <li>Presence.Mode.AVAILABLE -- (Default) the agent is available for more chats * (equivalent to Presence.Mode.CHAT). * <li>Presence.Mode.DO_NOT_DISTURB -- the agent is busy and should not be disturbed. * However, special case, or extreme urgency chats may still be offered to the agent. * <li>Presence.Mode.AWAY -- the agent is not available and should not * have a chat routed to them (equivalent to Presence.Mode.EXTENDED_AWAY).</ul> * <p/> * The max chats value is the maximum number of chats the agent is willing to have * routed to them at once. Some servers may be configured to only accept max chat * values in a certain range; for example, between two and five. In that case, the * maxChats value the agent sends may be adjusted by the server to a value within that * range. * * @param presenceMode the presence mode of the agent. * @param maxChats the maximum number of chats the agent is willing to accept. * @throws XMPPException if an error occurs setting the agent status. * @throws IllegalStateException if the agent is not online with the workgroup. */ public void setStatus(Presence.Mode presenceMode, int maxChats) throws XMPPException { setStatus(presenceMode, maxChats, null); }
/** * Sets the agent's current status with the workgroup. The presence mode affects * how offers are routed to the agent. The possible presence modes with their * meanings are as follows:<ul> * <p/> * <li>Presence.Mode.AVAILABLE -- (Default) the agent is available for more chats * (equivalent to Presence.Mode.CHAT). * <li>Presence.Mode.DO_NOT_DISTURB -- the agent is busy and should not be disturbed. * However, special case, or extreme urgency chats may still be offered to the agent. * <li>Presence.Mode.AWAY -- the agent is not available and should not * have a chat routed to them (equivalent to Presence.Mode.EXTENDED_AWAY).</ul> * <p/> * The max chats value is the maximum number of chats the agent is willing to have * routed to them at once. Some servers may be configured to only accept max chat * values in a certain range; for example, between two and five. In that case, the * maxChats value the agent sends may be adjusted by the server to a value within that * range. * * @param presenceMode the presence mode of the agent. * @param maxChats the maximum number of chats the agent is willing to accept. * @throws XMPPException if an error occurs setting the agent status. * @throws IllegalStateException if the agent is not online with the workgroup. */ public void setStatus(Presence.Mode presenceMode, int maxChats) throws XMPPException { setStatus(presenceMode, maxChats, null); }
/** * Allows the removal of data from the agent's meta data, if the key represents existing data, * the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key. * @throws XMPPException if an exception occurs. */ public void removeMetaData(String key) throws XMPPException { synchronized (this.metaData) { String oldVal = (String)metaData.remove(key); if (oldVal != null) { setStatus(presenceMode, maxChats); } } }
/** * Allows the removal of data from the agent's meta data, if the key represents existing data, * the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key. * @throws XMPPException if an exception occurs. */ public void removeMetaData(String key) throws XMPPException { synchronized (this.metaData) { List<String> oldVal = metaData.remove(key); if (oldVal != null) { setStatus(presenceMode, maxChats); } } }
/** * Allows the removal of data from the agent's meta data, if the key represents existing data, * the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key. * @throws XMPPException if an exception occurs. */ public void removeMetaData(String key) throws XMPPException { synchronized (this.metaData) { String oldVal = (String)metaData.remove(key); if (oldVal != null) { setStatus(presenceMode, maxChats); } } }
/** * Allows the addition of a new key-value pair to the agent's meta data, if the value is * new data, the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key * @param val the non-null meta data value * @throws XMPPException if an exception occurs. */ public void setMetaData(String key, String val) throws XMPPException { synchronized (this.metaData) { String oldVal = (String)this.metaData.get(key); if ((oldVal == null) || (!oldVal.equals(val))) { metaData.put(key, val); setStatus(presenceMode, maxChats); } } }
/** * Allows the addition of a new key-value pair to the agent's meta data, if the value is * new data, the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key * @param val the non-null meta data value * @throws XMPPException if an exception occurs. */ public void setMetaData(String key, String val) throws XMPPException { synchronized (this.metaData) { String oldVal = (String)this.metaData.get(key); if ((oldVal == null) || (!oldVal.equals(val))) { metaData.put(key, val); setStatus(presenceMode, maxChats); } } }
/** * Allows the addition of a new key-value pair to the agent's meta data, if the value is * new data, the revised meta data will be rebroadcast in an agent's presence broadcast. * * @param key the meta data key * @param val the non-null meta data value * @throws XMPPException if an exception occurs. */ public void setMetaData(String key, String val) throws XMPPException { synchronized (this.metaData) { List<String> oldVals = metaData.get(key); if ((oldVals == null) || (!oldVals.get(0).equals(val))) { oldVals.set(0, val); setStatus(presenceMode, maxChats); } } }