• 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 /**
17  * Represents a request to subscribe to a node.
18  *
19  * @author Robin Collier
20  */
21 public class GetItemsRequest extends NodeExtension
22 {
23 	protected String subId;
24 	protected int maxItems;
25 
GetItemsRequest(String nodeId)26 	public GetItemsRequest(String nodeId)
27 	{
28 		super(PubSubElementType.ITEMS, nodeId);
29 	}
30 
GetItemsRequest(String nodeId, String subscriptionId)31 	public GetItemsRequest(String nodeId, String subscriptionId)
32 	{
33 		super(PubSubElementType.ITEMS, nodeId);
34 		subId = subscriptionId;
35 	}
36 
GetItemsRequest(String nodeId, int maxItemsToReturn)37 	public GetItemsRequest(String nodeId, int maxItemsToReturn)
38 	{
39 		super(PubSubElementType.ITEMS, nodeId);
40 		maxItems = maxItemsToReturn;
41 	}
42 
GetItemsRequest(String nodeId, String subscriptionId, int maxItemsToReturn)43 	public GetItemsRequest(String nodeId, String subscriptionId, int maxItemsToReturn)
44 	{
45 		this(nodeId, maxItemsToReturn);
46 		subId = subscriptionId;
47 	}
48 
getSubscriptionId()49 	public String getSubscriptionId()
50 	{
51 		return subId;
52 	}
53 
getMaxItems()54 	public int getMaxItems()
55 	{
56 		return maxItems;
57 	}
58 
59 	@Override
toXML()60 	public String toXML()
61 	{
62 		StringBuilder builder = new StringBuilder("<");
63 		builder.append(getElementName());
64 
65 		builder.append(" node='");
66 		builder.append(getNode());
67 		builder.append("'");
68 
69 		if (getSubscriptionId() != null)
70 		{
71 			builder.append(" subid='");
72 			builder.append(getSubscriptionId());
73 			builder.append("'");
74 		}
75 
76 		if (getMaxItems() > 0)
77 		{
78 			builder.append(" max_items='");
79 			builder.append(getMaxItems());
80 			builder.append("'");
81 		}
82 		builder.append("/>");
83 		return builder.toString();
84 	}
85 }
86