Package org.jivesoftware.openfire.pubsub
Class DefaultNodeConfiguration
- java.lang.Object
-
- org.jivesoftware.openfire.pubsub.DefaultNodeConfiguration
-
- All Implemented Interfaces:
Serializable
,Cacheable
public class DefaultNodeConfiguration extends Object implements Cacheable
A DefaultNodeConfiguration keeps the default configuration values for leaf or collection nodes of a particular publish-subscribe service. New nodes created for the service will be initialized with the values defined in the default configuration.- Author:
- Matt Tucker
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DefaultNodeConfiguration(boolean isLeafType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AccessModel
getAccessModel()
Returns the access model that specifies who is allowed to subscribe and retrieve items.CollectionNode.LeafNodeAssociationPolicy
getAssociationPolicy()
Returns the policy that defines who may associate leaf nodes with a collection.int
getCachedSize()
Returns the approximate size of the Object in bytes.org.xmpp.forms.DataForm
getConfigurationForm(Locale preferredLocale)
String
getLanguage()
Returns the default language of the node.int
getMaxLeafNodes()
Returns the max number of leaf nodes that this collection node might have.int
getMaxPayloadSize()
Returns the maximum payload size in bytes.int
getMaxPublishedItems()
Returns the maximum number of published items to persist.PublisherModel
getPublisherModel()
Returnes the publisher model that specifies who is allowed to publish items to the node.Node.ItemReplyPolicy
getReplyPolicy()
Returns the policy that defines whether owners or publisher should receive replies to items.boolean
isDeliverPayloads()
Returns true if payloads are going to be delivered with event notifications.boolean
isLeaf()
Returns true if this default configutation belongs to a leaf node.boolean
isNotifyConfigChanges()
Returns true if subscribers are going to be notified when node configuration changes.boolean
isNotifyDelete()
Returns true if subscribers are going to be notified when node is deleted.boolean
isNotifyRetract()
Returns true if subscribers are going to be notified when items are removed from the node.boolean
isPersistPublishedItems()
Returns true if items are going to be persisted in a storage.boolean
isPresenceBasedDelivery()
Returns true if notifications are going to be delivered only to available users.boolean
isSendItemSubscribe()
Returns true if new subscribers are going to receive new items once subscribed.boolean
isSubscriptionEnabled()
Returns true if subscribing and unsubscribing are enabled.void
setAccessModel(AccessModel accessModel)
Sets the access model that specifies who is allowed to subscribe and retrieve items.void
setAssociationPolicy(CollectionNode.LeafNodeAssociationPolicy associationPolicy)
Sets the policy that defines who may associate leaf nodes with a collection.void
setDeliverPayloads(boolean deliverPayloads)
Sets if payloads are going to be delivered with event notifications.void
setLanguage(String language)
Sets the default language of the node.void
setMaxLeafNodes(int maxLeafNodes)
Sets the max number of leaf nodes that this collection node might have.void
setMaxPayloadSize(int maxPayloadSize)
Sets the maximum payload size in bytes.void
setMaxPublishedItems(int maxPublishedItems)
Sets the maximum number of published items to persist.void
setNotifyConfigChanges(boolean notifyConfigChanges)
Sets if subscribers are going to be notified when node configuration changes.void
setNotifyDelete(boolean notifyDelete)
Sets if subscribers are going to be notified when node is deleted.void
setNotifyRetract(boolean notifyRetract)
Sets if subscribers are going to be notified when items are removed from the node.void
setPersistPublishedItems(boolean persistPublishedItems)
Sets if items are going to be persisted in a storage.void
setPresenceBasedDelivery(boolean presenceBasedDelivery)
Sets if notifications are going to be delivered only to available users.void
setPublisherModel(PublisherModel publisherModel)
Sets the publisher model that specifies who is allowed to publish items to the node.void
setReplyPolicy(Node.ItemReplyPolicy replyPolicy)
Sets the policy that defines whether owners or publisher should receive replies to items.void
setSendItemSubscribe(boolean sendItemSubscribe)
Sets if new subscribers are going to receive new items once subscribed.void
setSubscriptionEnabled(boolean subscriptionEnabled)
Sets if subscribing and unsubscribing are enabled.
-
-
-
Method Detail
-
isLeaf
public boolean isLeaf()
Returns true if this default configutation belongs to a leaf node.- Returns:
- true if this default configutation belongs to a leaf node.
-
isDeliverPayloads
public boolean isDeliverPayloads()
Returns true if payloads are going to be delivered with event notifications.- Returns:
- true if payloads are going to be delivered with event notifications.
-
getMaxPayloadSize
public int getMaxPayloadSize()
Returns the maximum payload size in bytes.- Returns:
- the maximum payload size in bytes.
-
isPersistPublishedItems
public boolean isPersistPublishedItems()
Returns true if items are going to be persisted in a storage. Note that when the variable is false then the last published item is the only items being saved to the backend storage.- Returns:
- true if items are going to be persisted in a storage.
-
getMaxPublishedItems
public int getMaxPublishedItems()
Returns the maximum number of published items to persist. Note that all nodes are going to persist their published items. The only difference is the number of the last published items to be persisted. Even nodes that are configured to not use persitent items are going to save the last published item.- Returns:
- the maximum number of published items to persist.
-
isNotifyConfigChanges
public boolean isNotifyConfigChanges()
Returns true if subscribers are going to be notified when node configuration changes.- Returns:
- true if subscribers are going to be notified when node configuration changes.
-
isNotifyDelete
public boolean isNotifyDelete()
Returns true if subscribers are going to be notified when node is deleted.- Returns:
- true if subscribers are going to be notified when node is deleted.
-
isNotifyRetract
public boolean isNotifyRetract()
Returns true if subscribers are going to be notified when items are removed from the node.- Returns:
- true if subscribers are going to be notified when items are removed from the node.
-
isPresenceBasedDelivery
public boolean isPresenceBasedDelivery()
Returns true if notifications are going to be delivered only to available users.- Returns:
- true if notifications are going to be delivered only to available users.
-
isSendItemSubscribe
public boolean isSendItemSubscribe()
Returns true if new subscribers are going to receive new items once subscribed.- Returns:
- true if new subscribers are going to receive new items once subscribed.
-
getPublisherModel
public PublisherModel getPublisherModel()
Returnes the publisher model that specifies who is allowed to publish items to the node.- Returns:
- the publisher model that specifies who is allowed to publish items to the node.
-
isSubscriptionEnabled
public boolean isSubscriptionEnabled()
Returns true if subscribing and unsubscribing are enabled.- Returns:
- true if subscribing and unsubscribing are enabled.
-
getAccessModel
public AccessModel getAccessModel()
Returns the access model that specifies who is allowed to subscribe and retrieve items.- Returns:
- the access model that specifies who is allowed to subscribe and retrieve items.
-
getLanguage
public String getLanguage()
Returns the default language of the node.- Returns:
- the default language of the node.
-
getReplyPolicy
public Node.ItemReplyPolicy getReplyPolicy()
Returns the policy that defines whether owners or publisher should receive replies to items.- Returns:
- the policy that defines whether owners or publisher should receive replies to items.
-
getAssociationPolicy
public CollectionNode.LeafNodeAssociationPolicy getAssociationPolicy()
Returns the policy that defines who may associate leaf nodes with a collection.- Returns:
- the policy that defines who may associate leaf nodes with a collection.
-
getMaxLeafNodes
public int getMaxLeafNodes()
Returns the max number of leaf nodes that this collection node might have. A value of -1 means that there is no limit.- Returns:
- the max number of leaf nodes that this collection node might have.
-
setDeliverPayloads
public void setDeliverPayloads(boolean deliverPayloads)
Sets if payloads are going to be delivered with event notifications.- Parameters:
deliverPayloads
- true if payloads are going to be delivered with event notifications.
-
setMaxPayloadSize
public void setMaxPayloadSize(int maxPayloadSize)
Sets the maximum payload size in bytes.- Parameters:
maxPayloadSize
- the maximum payload size in bytes.
-
setPersistPublishedItems
public void setPersistPublishedItems(boolean persistPublishedItems)
Sets if items are going to be persisted in a storage. Note that when the variable is false then the last published item is the only items being saved to the backend storage.- Parameters:
persistPublishedItems
- true if items are going to be persisted in a storage.
-
setMaxPublishedItems
public void setMaxPublishedItems(int maxPublishedItems)
Sets the maximum number of published items to persist. Note that all nodes are going to persist their published items. The only difference is the number of the last published items to be persisted. Even nodes that are configured to not use persitent items are going to save the last published item.- Parameters:
maxPublishedItems
- the maximum number of published items to persist.
-
setNotifyConfigChanges
public void setNotifyConfigChanges(boolean notifyConfigChanges)
Sets if subscribers are going to be notified when node configuration changes.- Parameters:
notifyConfigChanges
- true if subscribers are going to be notified when node configuration changes.
-
setNotifyDelete
public void setNotifyDelete(boolean notifyDelete)
Sets if subscribers are going to be notified when node is deleted.- Parameters:
notifyDelete
- true if subscribers are going to be notified when node is deleted.
-
setNotifyRetract
public void setNotifyRetract(boolean notifyRetract)
Sets if subscribers are going to be notified when items are removed from the node.- Parameters:
notifyRetract
- true if subscribers are going to be notified when items are removed from the node.
-
setPresenceBasedDelivery
public void setPresenceBasedDelivery(boolean presenceBasedDelivery)
Sets if notifications are going to be delivered only to available users.- Parameters:
presenceBasedDelivery
- true if notifications are going to be delivered only to available users.
-
setSendItemSubscribe
public void setSendItemSubscribe(boolean sendItemSubscribe)
Sets if new subscribers are going to receive new items once subscribed.- Parameters:
sendItemSubscribe
- true if new subscribers are going to receive new items once subscribed.
-
setPublisherModel
public void setPublisherModel(PublisherModel publisherModel)
Sets the publisher model that specifies who is allowed to publish items to the node.- Parameters:
publisherModel
- the publisher model that specifies who is allowed to publish items to the node.
-
setSubscriptionEnabled
public void setSubscriptionEnabled(boolean subscriptionEnabled)
Sets if subscribing and unsubscribing are enabled.- Parameters:
subscriptionEnabled
- true if subscribing and unsubscribing are enabled.
-
setAccessModel
public void setAccessModel(AccessModel accessModel)
Sets the access model that specifies who is allowed to subscribe and retrieve items.- Parameters:
accessModel
- the access model that specifies who is allowed to subscribe and retrieve items.
-
setLanguage
public void setLanguage(String language)
Sets the default language of the node.- Parameters:
language
- the default language of the node.
-
setReplyPolicy
public void setReplyPolicy(Node.ItemReplyPolicy replyPolicy)
Sets the policy that defines whether owners or publisher should receive replies to items.- Parameters:
replyPolicy
- the policy that defines whether owners or publisher should receive replies to items.
-
setAssociationPolicy
public void setAssociationPolicy(CollectionNode.LeafNodeAssociationPolicy associationPolicy)
Sets the policy that defines who may associate leaf nodes with a collection.- Parameters:
associationPolicy
- the policy that defines who may associate leaf nodes with a collection.
-
setMaxLeafNodes
public void setMaxLeafNodes(int maxLeafNodes)
Sets the max number of leaf nodes that this collection node might have. A value of -1 means that there is no limit.- Parameters:
maxLeafNodes
- the max number of leaf nodes that this collection node might have.
-
getConfigurationForm
public org.xmpp.forms.DataForm getConfigurationForm(Locale preferredLocale)
-
getCachedSize
public int getCachedSize() throws CannotCalculateSizeException
Returns the approximate size of the Object in bytes. The size should be considered to be a best estimate of how much memory the Object occupies and may be based on empirical trials or dynamic calculations.- Specified by:
getCachedSize
in interfaceCacheable
- Returns:
- the size of the Object in bytes.
- Throws:
CannotCalculateSizeException
- if the size cannot be calculated
-
-