Class PubSub
- java.lang.Object
-
- rocks.xmpp.extensions.pubsub.model.PubSub
-
public final class PubSub extends Object
The implementation of the<pubsub/>
element in thehttp://jabber.org/protocol/pubsub
namespace.Child elements are created with a bunch of static factory methods.
- See Also:
- XEP-0060: Publish-Subscribe, XML Schema
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PubSub.Default
The<default/>
element.static class
PubSub.Options
The (subscribe)<options/>
element.static class
PubSub.Publish
The<publish/>
element.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Affiliation>
getAffiliations()
DataForm
getConfigurationForm()
PubSub.Default
getDefault()
List<Item>
getItems()
String
getNode()
PubSub.Options
getOptions()
PubSub.Publish
getPublish()
DataForm
getPublishOptions()
Subscription
getSubscription()
List<Subscription>
getSubscriptions()
static PubSub
withAffiliations()
Creates a pubsub element with an<affiliations/>
child element.static PubSub
withAffiliations(String node)
Creates a pubsub element with an<affiliations/>
child element and a 'node' attribute.static PubSub
withConfigure(String node, DataForm configurationForm)
Creates a pubsub element with an<configure/>
child element and a 'node' attribute.static PubSub
withCreate(String node)
Creates a pubsub element with an<create/>
child element and a 'node' attribute.static PubSub
withCreate(String node, DataForm configurationForm)
Creates a pubsub element with an<create/>
and<configure/>
child element.static PubSub
withDefault()
Creates a pubsub element with a<default/>
child element.static PubSub
withDefault(String node)
Creates a pubsub element with a<default/>
child element with a 'node' attribute.static PubSub
withItems(String node)
Creates a pubsub element with an<items/>
child element with a 'node' attribute.static PubSub
withItems(String node, int maxItems)
Creates a pubsub element with an<items/>
child element with a 'node' and a 'max_items' attribute.static PubSub
withItems(String node, String... ids)
Creates a pubsub element with an<items/>
child element, containing multiple item elements with an 'id' attribute.static PubSub
withOptions(String node, Jid jid, String subid, DataForm dataForm)
Creates a pubsub element with an<options/>
child element with a 'node' and 'jid' attribute.static PubSub
withPublish(String node, String id, Object item, DataForm options)
Creates a pubsub element with a<publish/>
child element.static PubSub
withRetract(String node, String id, boolean notify)
Creates a pubsub element with a<retract/>
child element.static PubSub
withSubscribe(String node, Jid jid)
Creates a pubsub element with a<subscribe/>
child element with a 'node' and 'jid' attribute.static PubSub
withSubscribe(String node, Jid jid, DataForm dataForm)
Creates a pubsub element with a<subscribe/>
and<options/>
child element with a 'node' and 'jid' attribute.static PubSub
withSubscriptions()
Creates a pubsub element with a<subscriptions/>
child element.static PubSub
withSubscriptions(String node)
Creates a pubsub element with a<subscriptions/>
child element with a 'node' attribute.static PubSub
withUnsubscribe(String node, Jid jid, String subscriptionId)
Creates a pubsub element with an<unsubscribe/>
child element with a 'node' and 'jid' attribute.
-
-
-
Field Detail
-
NAMESPACE
public static final String NAMESPACE
http://jabber.org/protocol/pubsub- See Also:
- Constant Field Values
-
-
Method Detail
-
withAffiliations
public static PubSub withAffiliations()
Creates a pubsub element with an<affiliations/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <affiliations/> </pubsub>
- Returns:
- The pubsub instance.
- See Also:
- 5.7 Retrieve Affiliations
-
withAffiliations
public static PubSub withAffiliations(String node)
Creates a pubsub element with an<affiliations/>
child element and a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <affiliations node='node6'/> </pubsub>
- Parameters:
node
- The node.- Returns:
- The pubsub instance.
- See Also:
- 5.7 Retrieve Affiliations
-
withConfigure
public static PubSub withConfigure(String node, DataForm configurationForm)
Creates a pubsub element with an<configure/>
child element and a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <configure node='princely_musings'> <x xmlns='jabber:x:data' type='submit'> <field var='FORM_TYPE' type='hidden'> <value>http://jabber.org/protocol/pubsub#node_config</value> </field> <field var='pubsub#tempsub'><value>true</value></field> </x> </configure> </pubsub>
- Parameters:
node
- The node.configurationForm
- The configuration form.- Returns:
- The pubsub instance.
- See Also:
- 12.4 Temporary Subscriptions
-
withCreate
public static PubSub withCreate(String node)
Creates a pubsub element with an<create/>
child element and a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <create node='princely_musings'/> </pubsub>
- Parameters:
node
- The node.- Returns:
- The pubsub instance.
- See Also:
- 8.1 Create a Node
-
withCreate
public static PubSub withCreate(String node, DataForm configurationForm)
Creates a pubsub element with an<create/>
and<configure/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <create node='princely_musings'/> <configure> <x xmlns='jabber:x:data' type='submit'> </x> </configure> </pubsub>
- Parameters:
node
- The node.configurationForm
- The configuration form.- Returns:
- The pubsub instance.
- See Also:
- 8.1.3 Create and Configure a Node
-
withSubscriptions
public static PubSub withSubscriptions()
Creates a pubsub element with a<subscriptions/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <subscriptions/> </pubsub>
- Returns:
- The pubsub instance.
- See Also:
- 5.6 Retrieve Subscriptions
-
withSubscriptions
public static PubSub withSubscriptions(String node)
Creates a pubsub element with a<subscriptions/>
child element with a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <subscriptions node='princely_musings'/> </pubsub>
- Parameters:
node
- The node.- Returns:
- The pubsub instance.
- See Also:
- 5.6 Retrieve Subscriptions
-
withSubscribe
public static PubSub withSubscribe(String node, Jid jid)
Creates a pubsub element with a<subscribe/>
child element with a 'node' and 'jid' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <subscribe node='princely_musings' jid='francisco@denmark.lit'/> </pubsub>
- Parameters:
node
- The node.jid
- The JID.- Returns:
- The pubsub instance.
- See Also:
- 6.1 Subscribe to a Node
-
withSubscribe
public static PubSub withSubscribe(String node, Jid jid, DataForm dataForm)
Creates a pubsub element with a<subscribe/>
and<options/>
child element with a 'node' and 'jid' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <subscribe node='princely_musings' jid='francisco@denmark.lit'/> <options> <x xmlns='jabber:x:data' type='submit'> </x> </options> </pubsub>
- Parameters:
node
- The node.jid
- The JID.dataForm
- The dataForm.- Returns:
- The pubsub instance.
- See Also:
- 6.3.7 Subscribe and Configure
-
withOptions
public static PubSub withOptions(String node, Jid jid, String subid, DataForm dataForm)
Creates a pubsub element with an<options/>
child element with a 'node' and 'jid' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <options> <x xmlns='jabber:x:data' type='submit'> </x> </options> </pubsub>
- Parameters:
node
- The node.jid
- The JID.subid
- The subscription id.dataForm
- The data form.- Returns:
- The pubsub instance.
- See Also:
- 6.3.5 Form Submission
-
withUnsubscribe
public static PubSub withUnsubscribe(String node, Jid jid, String subscriptionId)
Creates a pubsub element with an<unsubscribe/>
child element with a 'node' and 'jid' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <unsubscribe node='princely_musings' jid='francisco@denmark.lit'/> </pubsub>
- Parameters:
node
- The node.jid
- The JID.subscriptionId
- The subscription id.- Returns:
- The pubsub instance.
- See Also:
- 6.2 Unsubscribe from a Node
-
withDefault
public static PubSub withDefault()
Creates a pubsub element with a<default/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <default/> </pubsub>
- Returns:
- The pubsub instance.
- See Also:
- 6.4 Request Default Subscription Configuration Options
-
withDefault
public static PubSub withDefault(String node)
Creates a pubsub element with a<default/>
child element with a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <default node='princely_musings'/> </pubsub>
- Parameters:
node
- The node.- Returns:
- The pubsub instance.
- See Also:
- 6.4 Request Default Subscription Configuration Options
-
withItems
public static PubSub withItems(String node)
Creates a pubsub element with an<items/>
child element with a 'node' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <items node='princely_musings'/> </pubsub>
- Parameters:
node
- The node.- Returns:
- The pubsub instance.
- See Also:
- 6.5.2 Requesting All Items
-
withItems
public static PubSub withItems(String node, String... ids)
Creates a pubsub element with an<items/>
child element, containing multiple item elements with an 'id' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <items node='princely_musings'> <item id='368866411b877c30064a5f62b917cffe'/> <item id='4e30f35051b7b8b42abe083742187228'/> </items> </pubsub>
- Parameters:
node
- The node.ids
- The ids.- Returns:
- The pubsub instance.
- See Also:
- 6.5.6 Returning Notifications Only
-
withItems
public static PubSub withItems(String node, int maxItems)
Creates a pubsub element with an<items/>
child element with a 'node' and a 'max_items' attribute.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <items node='princely_musings' max_items='2'/> </pubsub>
- Parameters:
node
- The node.maxItems
- The max items.- Returns:
- The pubsub instance.
- See Also:
- 6.5.7 Requesting the Most Recent Items
-
withPublish
public static PubSub withPublish(String node, String id, Object item, DataForm options)
Creates a pubsub element with a<publish/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <publish node='princely_musings'> <item id='bnd81g37d61f49fgn581'> <entry xmlns='http://www.w3.org/2005/Atom'> ... </pubsub>
- Parameters:
node
- The node.id
- The id.item
- The item to publish.options
- The publish options.- Returns:
- The pubsub instance.
- See Also:
- 7.1 Publish an Item to a Node
-
withRetract
public static PubSub withRetract(String node, String id, boolean notify)
Creates a pubsub element with a<retract/>
child element.Sample:
<pubsub xmlns='http://jabber.org/protocol/pubsub'> <retract node='princely_musings' notify='true'> <item id='ae890ac52d0df67ed7cfdf51b644e901'/> </retract> </pubsub>
- Parameters:
node
- The node.id
- The id.notify
- The notify attribute.- Returns:
- The pubsub instance.
- See Also:
- 7.2 Delete an Item from a Node
-
getDefault
public final PubSub.Default getDefault()
-
getSubscription
public final Subscription getSubscription()
-
getOptions
public final PubSub.Options getOptions()
-
getPublish
public final PubSub.Publish getPublish()
-
getConfigurationForm
public final DataForm getConfigurationForm()
-
getSubscriptions
public final List<Subscription> getSubscriptions()
-
getAffiliations
public final List<Affiliation> getAffiliations()
-
getNode
public final String getNode()
-
getPublishOptions
public final DataForm getPublishOptions()
-
-