• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3  * you may not use this file except in compliance with the License.
4  * You may obtain a copy of the License at
5  *
6  *     http://www.apache.org/licenses/LICENSE-2.0
7  *
8  * Unless required by applicable law or agreed to in writing, software
9  * distributed under the License is distributed on an "AS IS" BASIS,
10  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  * See the License for the specific language governing permissions and
12  * limitations under the License.
13  */
14 package org.jivesoftware.smackx.pubsub;
15 
16 import org.jivesoftware.smackx.pubsub.util.XmlUtils;
17 
18 
19 /**
20  * Represents an unsubscribe element.
21  *
22  * @author Robin Collier
23  */
24 public class UnsubscribeExtension extends NodeExtension
25 {
26 	protected String jid;
27 	protected String id;
28 
UnsubscribeExtension(String subscriptionJid)29 	public UnsubscribeExtension(String subscriptionJid)
30 	{
31 		this(subscriptionJid, null, null);
32 	}
33 
UnsubscribeExtension(String subscriptionJid, String nodeId)34 	public UnsubscribeExtension(String subscriptionJid, String nodeId)
35 	{
36 		this(subscriptionJid, nodeId, null);
37 	}
38 
UnsubscribeExtension(String jid, String nodeId, String subscriptionId)39 	public UnsubscribeExtension(String jid, String nodeId, String subscriptionId)
40 	{
41 		super(PubSubElementType.UNSUBSCRIBE, nodeId);
42 		this.jid = jid;
43 		id = subscriptionId;
44 	}
45 
getJid()46 	public String getJid()
47 	{
48 		return jid;
49 	}
50 
getId()51 	public String getId()
52 	{
53 		return id;
54 	}
55 
56 	@Override
toXML()57 	public String toXML()
58 	{
59 		StringBuilder builder = new StringBuilder("<");
60 		builder.append(getElementName());
61 		XmlUtils.appendAttribute(builder, "jid", jid);
62 
63 		if (getNode() != null)
64 			XmlUtils.appendAttribute(builder, "node", getNode());
65 
66 		if (id != null)
67 			XmlUtils.appendAttribute(builder, "subid", id);
68 
69 		builder.append("/>");
70 		return builder.toString();
71 	}
72 
73 }
74