All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adobe.cq.social.commons.comments.api.CommentCollectionConfiguration Maven / Gradle / Ivy

There is a newer version: 6.5.21
Show newest version
/*************************************************************************
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2013 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 **************************************************************************/
package com.adobe.cq.social.commons.comments.api;

import java.util.List;
import java.util.Map.Entry;

import com.adobe.cq.social.badging.api.BadgingService;
import com.adobe.cq.social.scf.core.CollectionSortedOrder;
import com.fasterxml.jackson.annotation.JsonProperty;

public interface CommentCollectionConfiguration {
    /**
     * The property name for allowing users to vote.
     */
    String PN_ALLOW_VOTING = "allowVoting";

    /**
     * The default value of Allow Voting property
     */
    boolean PV_DEFAULT_ALLOW_VOTING = false;

    /**
     * The property name of the allowing users voting root.
     */
    String PN_VOTING_ROOT = "votingRoot";

    String PN_ALLOW_TAGGING = "allowTagging";

    /**
     * The default value of allow users voting root.
     */
    String PV_DEFAULT_VOTING_ROOT = "voting";

    /**
     * The property name of the voting type.
     */
    String PN_VOTING_TYPE = "votingType";

    /**
     * The default value of allow users voting type.
     */
    String PV_DEFAULT_VOTING_TYPE = "social/tally/components/hbs/voting";

    /**
     * The property name for allowing users or moderators to delete comments.
     */
    String PN_ALLOW_DELETE_COMMENTS = "allowDeleteComments";

    /**
     * The default property value for allowing users or moderators to delete comments.
     */
    boolean PV_DEFAULT_ALLOW_DELETE_COMMENTS = false;

    /**
     * The property name for allowing users to flag comments.
     */
    String PN_ALLOW_FLAGGING = "allowFlagComments";

    /**
     * The default property value for allowing users to flag comments.
     */
    boolean PV_DEFAULT_ALLOW_FLAGGING = false;

    /**
     * The property name for allowing users to pin comments.
     */
    String PN_ALLOW_PINNING = "allowPinning";
    /**
     * The default property value for allowing users to pin comments.
     */
    boolean PV_DEFAULT_ALLOW_PIN = false;
    /**
     * The property name for allowing users to close comments.
     */
    String PN_ALLOW_CLOSE = "allowCloseComments";

    /**
     * The default property value for allowing users to close comments.
     */
    boolean PV_DEFAULT_ALLOW_CLOSE = false;

    /**
     * The property name for allowing users to deny comments.
     */
    String PN_ALLOW_DENY = "allowDenyComments";

    /**
     * The property name for allowing users to move threads.
     */
    String PN_ALLOW_MOVE = "allowMoves";

    /**
     * The default property value for allowing users to deny comments.
     */
    boolean PV_DEFAULT_ALLOW_DENY = false;

    /**
     * The property name for enabling the rich text editor.
     */
    String PN_RTE_ENABLED = "rteEnabled";

    /**
     * The default state of the rich text editor.
     */
    boolean PV_DEFAULT_RTE_ENABLED = false;

    /**
     * The property name for allowing users to attach files.
     */
    String PN_ALLOW_ATTACHMENT = "allowFileUploads";

    /**
     * The default property value for allowing users to attach files.
     */
    boolean PV_DEFAULT_ALLOW_ATTACHMENT = false;

    /**
     * The property name for allowing users to use a typed in flag reason.
     */
    String PN_ALLOW_CUSTOM_FLAGREASON = "allowCustomFlagReason";

    /**
     * The default property value for allowing a custom flag reason.
     */
    boolean PV_DEFAULT_ALLOW_CUSTOM_FLAGREASON = false;

    /**
     * The property name for allowing users to translate a whole thread.
     */
    String PN_ALLOW_TRANSLATE_ALL = "allowTranslateAllButton";

    /**
     * The default property value for allowing user to translate a whole thread.
     */
    boolean PV_DEFAULT_ALLOW_TRANSLATE_ALL = false;

    /**
     * The property name for the maximum number of comments on a page.
     */
    String PN_MAX_ITEMS_PER_PAGE = "maxPerPage";

    /**
     * The property name for the allow Following.
     */
    String PN_ALLOW_FOLLOWING = "allowFollowing";

    /**
     * The default property value for allowing following.
     */
    boolean PV_DEFAULT_ALLOW_FOLLOWING = false;

    /**
     * The property name for the allow subscriptions.
     */
    String PN_ALLOW_SUBSCRIPTIONS = "allowSubscriptions";

    /**
     * The default property value for allowing subscriptions.
     */
    boolean PV_DEFAULT_ALLOW_SUBSCRIPTIONS = false;

    /**
     * The property name for showing badges.
     */
    String PN_SHOW_BADGES = BadgingService.ALLOW_BADGES_PROP;

    /**
     * The default property value for showing badges.
     */
    boolean PV_DEFAULT_SHOW_BADGES = false;

    /**
     * The property name for thumbnail size.
     */
    String THUMBNAIL_SIZE_PROPERTY = "thumbnailSize";


    /**
     * The property name for the allowing replies to comments.
     */
    public final static String PN_ALLOW_REPLIES = "allowRepliesToComments";

    /**
     * The default property value for allowing replies.
     */
    boolean PV_DEFAULT_ALLOW_REPLIES = false;

    /**
     * The default property value for allowing moves.
     */
    boolean PV_DEFAULT_ALLOW_MOVE = false;

    /** The property value to sort by descending order. */
    String PV_SORT_DESC = "desc";

    /** The property value to sort by ascending order. */
    String PV_SORT_ASC = "asc";

    /** The restricted users group. */
    static String ALLOW_PRIVILEGED_MEMBERS = "allowPrivilegedMembers";
    static String PRIVILEGED_USERS_GROUP = "cq:privilegedMembers";

    /** The property name for sort order */
    static String PN_SORT_ORDER = "sortOrder";

    /** The property name for sort field */
    static String PN_SORT_FIELD = "sortField";

    /** The default value for sort field */
    static String PV_DEFAULT_SORT_FIELD = "added";

    static String PV_DEFAULT_LAST_UPDATED = "latestActivityDate_dt";

    static String PV_DEFAULT_ANALYTICS_TIME_SELECTOR = "total_tl";

    static String PN_SORT_FIELD_ORDER = "sortFieldOrder";

    static String PV_DEFAULT_NEWEST = "newest";

    static String SORT_BY = "sortBy";

    static String ANALYTICS_TIME_SELECTOR = "timeSelector";

    /**
     * Default thumbnail size, in case not provided by Customers
     **/
    int THUMBNAIL_DEFAULT_SIZE = 800;

    /**
     * The property name for allowing Community Moderators to mark a post as featured.
     */
    String PN_ALLOW_FEATURED_CONTENT = "allowFeaturedContent";
    /**
     * The default property value for allowing Community Moderators to mark a post as featured.
     */
    boolean PV_DEFAULT_ALLOW_FEATURED_CONTENT = false;

    /**
     * The property name for enabling/disabling replies in listing page data
     */
    String PN_DO_NOT_GET_REPLIES_ON_LISTING_PAGE = "doNotGetRepliesOnListingPage";
    /**
     *Default value for replies on listing page
     */
    boolean PV_DEFAULT_DO_NOT_GET_REPLIES_ON_LISTING_PAGE = false;

    /**
     * @return true if the comment can be voted
     */
    @JsonProperty("isVotingAllowed")
    boolean isVotingAllowed();

    /**
     * Allows attachment.
     * @return true, if successful
     */
    @JsonProperty("isAttachmentAllowed")
    boolean isAttachmentAllowed();

    /**
     * Checks if is RTE enabled.
     * @return true, if is RTE enabled
     */
    @JsonProperty("isRTEEnabled")
    boolean isRTEEnabled();

    /**
     * @return boolean indicating if custom flag reasons are allowed. The JCR of this attribute is called
     *         "seFlagReasonFreeformText"
     */
    @JsonProperty("isCustomFlagReasonAllowed")
    boolean isCustomFlagReasonAllowed();

    /**
     * @return boolean indicating if translate all button are allowed. The JCR of this attribute is called
     *         "allowTranslateAllButton"
     */
    @JsonProperty("isTranslateAllButtonAllowed")
    boolean isTranslateAllButtonAllowed();

    /**
     * @return boolean indicating if closing a tree of replies is allowed.The JCR of this attribute is called
     *         "allowCloseComments"
     */
    boolean isCloseAllowed();

    /**
     * @return boolean indicating if pinning is allowed.The JCR of this attribute is called "allowPinComments"
     */
    boolean isPinAllowed();

    /**
     * @return boolean indicating if flagging content is allowed.The JCR of this attribute is called
     *         "allowFlagComments"
     */
    boolean isFlaggingAllowed();

    /**
     * @return boolean indicating if denying a tree of replies is allowed.The JCR of this attribute is called
     *         "allowDenyComments"
     */
    boolean isDenyAllowed();

    /**
     * @return boolean indicating if moving a thread is allowed.The JCR of this attribute is called "allowMove"
     */
    boolean isMoveAllowed();

    /**
     * @return boolean indicating if denying a tree of replies is allowed. The JCR of this attribute is called
     *         "allowDenyComments"
     */
    boolean isEditAllowed();

    /**
     * @return boolean indicating if replying to comments is allowed. The JCR of this attribute is called
     *         "allowRepliesToComments"
     */
    boolean isReplyAllowed();

    /**
     * @return boolean indicating if deleting comments is allow for a user. The JCR of this attribute is called
     *         "allowDeleteComments"
     */
    boolean isDeleteAllowed();

    /**
     * @return the default number of comments on a page as configured on the component. If there is no configuration,
     *         this defaults to 10.
     */
    int getPageSize();

    /**
     * @return setting value of the following allowed configuration.
     */
    boolean isFollowingAllowed();

    /**
     * @return setting value of the email subscribing allowed configuration.
     */
    boolean isSubscriptionsAllowed();

    /**
     * @return the default sort order of comments on a page as configured on the component. If there is no
     *         configuration, this defaults to {@link CollectionSortedOrder}.REVERSED_ORDER.
     */
    CollectionSortedOrder getSortOrder();

    /**
     * Gets the sort fields. For a sort field [{"subject", true},{"added", false}] like this would sort UGC based on
     * subject in ascending order and then by create date for UGC with the same subject
     * @return the sort fields
     */
    List> getSortFields();

    /**
     * Gets the default sort item list
     * @return the default sort items
     */

    List getSortByItemsList();

    /**
     * Get the default time selector for analytics properties like "last 24 hours" , "last 7 days" etc.
     * @return the default analytics time selector
     */

    String getAnalyticsTimeSelector();

    /**
     * @return boolean indicating if marking 'Featured Content' is allowed. The JCR of this attribute is called
     *         "allowFeaturedContent"
     */
    boolean isFeaturingContentAllowed();

    /**
     *   @return  Get the maximum Thumbnail size set by user for the component.
     *    The JCR of this attribute is called "thumbnail"
     */
    int     getThumbNailSize();

    boolean isDoNotGetRepliesOnListingPage();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy