001/*
002 * (C) Copyright 2007-2020 Nuxeo (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     Nuxeo - initial API and implementation
018 */
019
020package org.nuxeo.ecm.platform.comment.api;
021
022/**
023 * @author <a href="mailto:glefter@nuxeo.com">George Lefter</a>
024 */
025public final class CommentConstants {
026
027    public static final String EVENT_COMMENT_CATEGORY = "commentCategory";
028
029    /**
030     * @since 11.1
031     */
032    public static final String TOP_LEVEL_DOCUMENT = "topLevelDocument";
033
034    public static final String PARENT_COMMENT = "parentComment";
035
036    /**
037     * @since 11.1
038     */
039    public static final String PARENT_COMMENT_AUTHOR = "parentCommentAuthor";
040
041    public static final String COMMENT_DOCUMENT = "comment_document";
042
043    /** Key to reference comment text in properties' event. */
044    public static final String COMMENT = "comment";
045
046    /** Key to reference comment text in properties' event. */
047    public static final String COMMENT_TEXT = "comment_text";
048
049    public static final String COMMENT_TASK_TYPE = "comment_moderation";
050
051    // --------------------------------------------
052    // Document type, schema and property constants
053    // --------------------------------------------
054
055    /** @since 11.1 **/
056    public static final String COMMENT_ROOT_DOC_TYPE = "CommentRoot";
057
058    /** @since 11.1 */
059    public static final String COMMENT_DOC_TYPE = "Comment";
060
061    /** @since 11.1 */
062    public static final String COMMENT_SCHEMA = "comment";
063
064    /** @since 11.1 */
065    public static final String COMMENT_CREATION_DATE_PROPERTY = "comment:creationDate";
066
067    /** @since 11.1 */
068    public static final String COMMENT_AUTHOR_PROPERTY = "comment:author";
069
070    /** @since 11.1 */
071    public static final String COMMENT_TEXT_PROPERTY = "comment:text";
072
073    /** @since 11.1 */
074    public static final String COMMENT_PARENT_ID_PROPERTY = "comment:parentId";
075
076    /** @since 11.1 */
077    public static final String COMMENT_MODIFICATION_DATE_PROPERTY = "comment:modificationDate";
078
079    /** @since 11.1 */
080    public static final String COMMENT_ANCESTOR_IDS_PROPERTY = "comment:ancestorIds";
081
082    // -------------------------------------------
083    // Entity type and field name constants (JSON)
084    // -------------------------------------------
085
086    /** @since 11.1 */
087    public static final String COMMENT_ENTITY_TYPE = "comment";
088
089    /** @since 11.1 */
090    public static final String COMMENTS_ENTITY_TYPE = "comments";
091
092    /** @since 11.1 */
093    public static final String COMMENT_ID_FIELD = "id";
094
095    /** @since 11.1 */
096    public static final String COMMENT_PARENT_ID_FIELD = "parentId";
097
098    /** @since 11.1 */
099    public static final String COMMENT_ANCESTOR_IDS_FIELD = "ancestorIds";
100
101    /** @since 11.1 */
102    public static final String COMMENT_AUTHOR_FIELD = "author";
103
104    /** @since 11.1 */
105    public static final String COMMENT_TEXT_FIELD = "text";
106
107    /**
108     * Creation Date in ISO-8601 representation.
109     *
110     * @since 11.1
111     */
112    public static final String COMMENT_CREATION_DATE_FIELD = "creationDate";
113
114    /**
115     * Modification Date in ISO-8601 representation.
116     *
117     * @since 11.1
118     */
119    public static final String COMMENT_MODIFICATION_DATE_FIELD = "modificationDate";
120
121    /**
122     * Number of direct replies.
123     *
124     * @since 11.1
125     */
126    public static final String COMMENT_NUMBER_OF_REPLIES_FIELD = "numberOfReplies";
127
128    /**
129     * Last Reply Date in ISO-8601 representation.
130     *
131     * @since 11.1
132     */
133    public static final String COMMENT_LAST_REPLY_DATE_FIELD = "lastReplyDate";
134
135    /** @since 11.1 */
136    public static final String COMMENT_PERMISSIONS_FIELD = "permissions";
137
138    // -------------------
139    // Migration constants
140    // -------------------
141
142    /** @since 10.3 */
143    public static final String MIGRATION_ID = "comment-storage"; // also in XML
144
145    /** @since 10.3 */
146    public static final String MIGRATION_STATE_RELATION = "relation"; // also in XML
147
148    /** @since 10.3 */
149    public static final String MIGRATION_STATE_PROPERTY = "property"; // also in XML
150
151    /** @since 11.1 */
152    public static final String MIGRATION_STATE_SECURED = "secured"; // also in XML
153
154    /** @since 10.3 */
155    public static final String MIGRATION_STEP_RELATION_TO_PROPERTY = "relation-to-property"; // also in XML
156
157    /** @since 11.1 */
158    public static final String MIGRATION_STEP_PROPERTY_TO_SECURED = "property-to-secured"; // also in XML
159
160    private CommentConstants() {
161        // utility class
162    }
163
164}