| /** |
| * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.jivesoftware.smackx.pubsub; |
| |
| import java.net.URL; |
| |
| import org.jivesoftware.smackx.Form; |
| |
| /** |
| * This enumeration represents all the fields of a node configuration form. This enumeration |
| * is not required when using the {@link ConfigureForm} to configure nodes, but may be helpful |
| * for generic UI's using only a {@link Form} for configuration. |
| * |
| * @author Robin Collier |
| */ |
| public enum ConfigureNodeFields |
| { |
| /** |
| * Determines who may subscribe and retrieve items |
| * |
| * <p><b>Value: {@link AccessModel}</b></p> |
| */ |
| access_model, |
| |
| /** |
| * The URL of an XSL transformation which can be applied to |
| * payloads in order to generate an appropriate message |
| * body element |
| * |
| * <p><b>Value: {@link URL}</b></p> |
| */ |
| body_xslt, |
| |
| /** |
| * The collection with which a node is affiliated |
| * |
| * <p><b>Value: String</b></p> |
| */ |
| collection, |
| |
| /** |
| * The URL of an XSL transformation which can be applied to |
| * payload format in order to generate a valid Data Forms result |
| * that the client could display using a generic Data Forms |
| * rendering engine body element. |
| * |
| * <p><b>Value: {@link URL}</b></p> |
| */ |
| dataform_xslt, |
| |
| /** |
| * Whether to deliver payloads with event notifications |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| deliver_payloads, |
| |
| /** |
| * Whether owners or publisher should receive replies to items |
| * |
| * <p><b>Value: {@link ItemReply}</b></p> |
| */ |
| itemreply, |
| |
| /** |
| * Who may associate leaf nodes with a collection |
| * |
| * <p><b>Value: {@link ChildrenAssociationPolicy}</b></p> |
| */ |
| children_association_policy, |
| |
| /** |
| * The list of JIDs that may associate leaf nodes with a |
| * collection |
| * |
| * <p><b>Value: List of JIDs as Strings</b></p> |
| */ |
| children_association_whitelist, |
| |
| /** |
| * The child nodes (leaf or collection) associated with a collection |
| * |
| * <p><b>Value: List of Strings</b></p> |
| */ |
| children, |
| |
| /** |
| * The maximum number of child nodes that can be associated with a |
| * collection |
| * |
| * <p><b>Value: int</b></p> |
| */ |
| children_max, |
| |
| /** |
| * The maximum number of items to persist |
| * |
| * <p><b>Value: int</b></p> |
| */ |
| max_items, |
| |
| /** |
| * The maximum payload size in bytes |
| * |
| * <p><b>Value: int</b></p> |
| */ |
| max_payload_size, |
| |
| /** |
| * Whether the node is a leaf (default) or collection |
| * |
| * <p><b>Value: {@link NodeType}</b></p> |
| */ |
| node_type, |
| |
| /** |
| * Whether to notify subscribers when the node configuration changes |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| notify_config, |
| |
| /** |
| * Whether to notify subscribers when the node is deleted |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| notify_delete, |
| |
| /** |
| * Whether to notify subscribers when items are removed from the node |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| notify_retract, |
| |
| /** |
| * Whether to persist items to storage. This is required to have multiple |
| * items in the node. |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| persist_items, |
| |
| /** |
| * Whether to deliver notifications to available users only |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| presence_based_delivery, |
| |
| /** |
| * Defines who can publish to the node |
| * |
| * <p><b>Value: {@link PublishModel}</b></p> |
| */ |
| publish_model, |
| |
| /** |
| * The specific multi-user chat rooms to specify for replyroom |
| * |
| * <p><b>Value: List of JIDs as Strings</b></p> |
| */ |
| replyroom, |
| |
| /** |
| * The specific JID(s) to specify for replyto |
| * |
| * <p><b>Value: List of JIDs as Strings</b></p> |
| */ |
| replyto, |
| |
| /** |
| * The roster group(s) allowed to subscribe and retrieve items |
| * |
| * <p><b>Value: List of strings</b></p> |
| */ |
| roster_groups_allowed, |
| |
| /** |
| * Whether to allow subscriptions |
| * |
| * <p><b>Value: boolean</b></p> |
| */ |
| subscribe, |
| |
| /** |
| * A friendly name for the node |
| * |
| * <p><b>Value: String</b></p> |
| */ |
| title, |
| |
| /** |
| * The type of node data, ussually specified by the namespace |
| * of the payload(if any);MAY be a list-single rather than a |
| * text single |
| * |
| * <p><b>Value: String</b></p> |
| */ |
| type; |
| |
| public String getFieldName() |
| { |
| return "pubsub#" + toString(); |
| } |
| } |