Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.8.2 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.pubsub
Class CollectionNode

    java.lang.Object
      org.jivesoftware.openfire.pubsub.Node
          org.jivesoftware.openfire.pubsub.CollectionNode

    public class CollectionNode

extends Node

A type of node that contains nodes and/or other collections but no published items. Collections provide the foundation entity to provide a means of representing hierarchical node structures.

Author:
  Matt Tucker

Nested Class Summary
`static class` | `CollectionNode.LeafNodeAssociationPolicy` Policy that defines who may associate leaf nodes with a collection.

Nested classes/interfaces inherited from class org.jivesoftware.openfire.pubsub.Node
`Node.ItemReplyPolicy`

Field Summary

Fields inherited from class org.jivesoftware.openfire.pubsub.Node
`accessModel, affiliates, bodyXSLT, contacts, creationDate, creator, dataformXSLT, deliverPayloads, description, language, name, nodeID, notifyConfigChanges, notifyDelete, notifyRetract, parent, payloadType, presenceBasedDelivery, publisherModel, PUBSUB_SVC_ID, replyPolicy, replyRooms, replyTo, rosterGroupsAllowed, service, subscriptionConfigurationRequired, subscriptionEnabled, subscriptionsByID, subscriptionsByJID`

Constructor Summary
`CollectionNode(PubSubService service, CollectionNode parentNode, String nodeID, org.xmpp.packet.JID creator)`

Method Summary
`protected void` | `addFormFields(org.xmpp.forms.DataForm form, boolean isEditing)` Adds the required form fields to the specified form.
`protected void` | `configure(org.xmpp.forms.FormField field)` Configures the node with the completed form field.
`protected void` | `deletingNode()` Notification message indicating that the node is being deleted.
`CollectionNode.LeafNodeAssociationPolicy` | `getAssociationPolicy()` Returns the policy that defines who may associate leaf nodes with a collection.
`Collection<org.xmpp.packet.JID>` | `getAssociationTrusted()` Returns the users that are allowed to associate leaf nodes with this collection node.
`int` | `getMaxLeafNodes()` Returns the max number of leaf nodes that this collection node might have.
`Collection<Node>` | `getNodes()` Returns the list of nodes contained by this node.
`boolean` | `isAssociationAllowed(org.xmpp.packet.JID user)` Returns true if the specified user is allowed to associate a leaf node with this node.
`boolean` | `isChildNode(Node child)` Returns true if the specified node is a first-level children of this collection node.
`boolean` | `isCollectionNode()` Returns true if this node is a node container.
`boolean` | `isDescendantNode(Node child)` Returns true if the specified node is a direct child node of this collection node or a descendant of the children nodes.
`boolean` | `isMaxLeafNodeReached()` Returns true if the max number of leaf nodes associated with this node has reached to the maximum allowed.

Methods inherited from class org.jivesoftware.openfire.pubsub.Node
`addAffiliate, addNoneAffiliation, addOutcast, addOwner, addPublisher, addSubscription, approveSubscription, broadcastNodeEvent, cancelSubscription, cancelSubscription, changeParent, configure, createSubscription, delete, equals, getAccessModel, getAffiliate, getAllSubscriptions, getBodyXSLT, getConfigurationForm, getContacts, getCreationDate, getCreator, getDataformXSLT, getDescription, getLanguage, getLastPublishedItem, getMetadataForm, getModificationDate, getName, getNodeID, getOwners, getParent, getParents, getPayloadType, getPendingSubscriptions, getPublishedItem, getPublishedItems, getPublishedItems, getPublisherModel, getPublishers, getReplyPolicy, getReplyRooms, getReplyTo, getRosterGroupsAllowed, getService, getSubscription, getSubscriptions, hashCode, isAdmin, isMultipleSubscriptionsEnabled, isNotifiedOfConfigChanges, isNotifiedOfDelete, isNotifiedOfRetract, isPayloadDelivered, isPresenceBasedDelivery, isPresenceBasedDelivery, isRootCollectionNode, isSendItemSubscribe, isSubscriptionConfigurationRequired, isSubscriptionEnabled, removeOutcast, removeOwner, removePublisher, saveToDB, sendEventNotification, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CollectionNode

    public CollectionNode(PubSubService service,
                          CollectionNode parentNode,
                          String nodeID,
                          org.xmpp.packet.JID creator)

Method Detail

### configure

    protected void configure(org.xmpp.forms.FormField field)
                      throws NotAcceptableException

  Description copied from class: `Node`
  Configures the node with the completed form field. Fields that are common to leaf and collection nodes are handled in `Node.configure(org.xmpp.forms.DataForm)`. Subclasses should implement this method in order to configure the node with form fields specific to the node type.

  Specified by:
    `configure` in class `Node`
  Parameters:
    `field` - the form field specific to the node type.
  Throws:
    `NotAcceptableException` - if field cannot be configured because of invalid data.

### addFormFields

    protected void addFormFields(org.xmpp.forms.DataForm form,
                                 boolean isEditing)

  Description copied from class: `Node`
  Adds the required form fields to the specified form. When editing is true the field type and a label is included in each fields. The form being completed will contain the current node configuration. This information can be used for editing the node or for notifing that the node configuration has changed.

  Overrides:
    `addFormFields` in class `Node`
  Parameters:
    `form` - the form containing the node configuration.
    `isEditing` - true when the form will be used to edit the node configuration.

### deletingNode

    protected void deletingNode()

  Description copied from class: `Node`
  Notification message indicating that the node is being deleted. Subclasses should implement this method to delete any subclass specific information.

  Specified by:
    `deletingNode` in class `Node`

### isCollectionNode

    public boolean isCollectionNode()

  Description copied from class: `Node`
  Returns true if this node is a node container. Node containers may only contain nodes but are not allowed to get items published.

  Overrides:
    `isCollectionNode` in class `Node`
  Returns:
    true if this node is a node container.

### isChildNode

    public boolean isChildNode(Node child)

  Returns true if the specified node is a first-level children of this collection node.

  Overrides:
    `isChildNode` in class `Node`
  Parameters:
    `child` - the node to check if it is a direct child of this node.
  Returns:
    true if the specified node is a first-level children of this collection node.

### isDescendantNode

    public boolean isDescendantNode(Node child)

  Returns true if the specified node is a direct child node of this collection node or a descendant of the children nodes.

  Overrides:
    `isDescendantNode` in class `Node`
  Parameters:
    `child` - the node to check if it is a descendant of this node.
  Returns:
    true if the specified node is a direct child node of this collection node or a descendant of the children nodes.

### getNodes

    public Collection<Node> getNodes()

  Description copied from class: `Node`
  Returns the list of nodes contained by this node. Only `CollectionNode` may contain other nodes.

  Overrides:
    `getNodes` in class `Node`
  Returns:
    the list of nodes contained by this node.

### 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.

### getAssociationTrusted

    public Collection<org.xmpp.packet.JID> getAssociationTrusted()

  Returns the users that are allowed to associate leaf nodes with this collection node. This collection is going to be used only when the associationPolicy is `whitelist`.

  Returns:
    the users that are allowed to associate leaf nodes with this collection node.

### 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.

### isAssociationAllowed

    public boolean isAssociationAllowed(org.xmpp.packet.JID user)

  Returns true if the specified user is allowed to associate a leaf node with this node. The decision is taken based on the association policy that the node is using.

  Parameters:
    `user` - the user trying to associate a leaf node with this node.
  Returns:
    true if the specified user is allowed to associate a leaf node with this node.

### isMaxLeafNodeReached

    public boolean isMaxLeafNodeReached()

  Returns true if the max number of leaf nodes associated with this node has reached to the maximum allowed.

  Returns:
    true if the max number of leaf nodes associated with this node has reached to the maximum allowed.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.8.2 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.