1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/** 2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * $Revision$ 3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * $Date$ 4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Copyright 2003-2007 Jive Software. 6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); 8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * you may not use this file except in compliance with the License. 9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * You may obtain a copy of the License at 10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * http://www.apache.org/licenses/LICENSE-2.0 12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Unless required by applicable law or agreed to in writing, software 14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * distributed under the License is distributed on an "AS IS" BASIS, 15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * See the License for the specific language governing permissions and 17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * limitations under the License. 18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.jivesoftware.smackx.workgroup.packet; 21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport org.jivesoftware.smack.packet.IQ; 23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/** 25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * A IQ packet used to depart a workgroup queue. There are two cases for issuing a depart 26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * queue request:<ul> 27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * <li>The user wants to leave the queue. In this case, an instance of this class 28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * should be created without passing in a user address. 29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * <li>An administrator or the server removes wants to remove a user from the queue. 30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * In that case, the address of the user to remove from the queue should be 31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * used to create an instance of this class.</ul> 32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @author loki der quaeler 34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class DepartQueuePacket extends IQ { 36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen private String user; 38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Creates a depart queue request packet to the specified workgroup. 41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @param workgroup the workgroup to depart. 43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public DepartQueuePacket(String workgroup) { 45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this(workgroup, null); 46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen /** 49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * Creates a depart queue request to the specified workgroup and for the 50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * specified user. 51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * 52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @param workgroup the workgroup to depart. 53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen * @param user the user to make depart from the queue. 54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */ 55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public DepartQueuePacket(String workgroup, String user) { 56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen this.user = user; 57d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 58d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen setTo(workgroup); 59d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen setType(IQ.Type.SET); 60d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen setFrom(user); 61d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 62d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 63d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen public String getChildElementXML() { 64d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen StringBuilder buf = new StringBuilder("<depart-queue xmlns=\"http://jabber.org/protocol/workgroup\""); 65d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 66d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen if (this.user != null) { 67d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen buf.append("><jid>").append(this.user).append("</jid></depart-queue>"); 68d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 69d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen else { 70d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen buf.append("/>"); 71d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 72d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen 73d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen return buf.toString(); 74d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen } 75d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen}