001/*
002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *     bstefanescu
011 */
012package org.nuxeo.ecm.automation.core;
013
014/**
015 * @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
016 */
017public class Constants {
018
019    /**
020     * A chain id prefix used in mysterious situations (old rest api it seems).
021     * <p>
022     * Hardcoded here to better track usage now that chains are registered as operations on the service?
023     *
024     * @since 5.9.4
025     */
026    public static final String CHAIN_ID_PREFIX = "Chain.";
027
028    // Known input/output types
029
030    public static final String O_DOCUMENT = "document";
031
032    public static final String O_DOCUMENTS = "documents";
033
034    public static final String O_BLOB = "blob";
035
036    public static final String O_BLOBS = "blobs";
037
038    // Parameter types
039
040    // injectable as String
041    public static final String T_STRING = "string";
042
043    // injectable as Boolean
044    public static final String T_BOOLEAN = "boolean";
045
046    // W3C string injectable as Date
047    public static final String T_DATE = "date";
048
049    // injectable as Integer
050    public static final String T_INTEGER = "integer";
051
052    // injectable as Long
053    public static final String T_LONG = "long";
054
055    // injectable as Double
056    public static final String T_FLOAT = "float";
057
058    // injectable as URL
059    public static final String T_RESOURCE = "resource";
060
061    // injectable as DocumentRef or DocumentModel
062    public static final String T_DOCUMENT = "document";
063
064    // injectable as DocumentRefList / DocumentModelList
065    public static final String T_DOCUMENTS = "documents";
066
067    public static final String T_BLOB = "blob";
068
069    public static final String T_BLOBS = "bloblist";
070
071    // inline MVEL injectable script as Script
072    public static final String T_SCRIPT = "script";
073
074    // Java properties content injectable as Properties
075    public static final String T_PROPERTIES = "properties";
076
077    // Category names
078
079    public static final String CAT_FETCH = "Fetch";
080
081    public static final String CAT_SCRIPTING = "Scripting";
082
083    public static final String CAT_EXECUTION = "Execution Context";
084
085    public static final String CAT_EXECUTION_STACK = "Push & Pop";
086
087    public static final String CAT_SUBCHAIN_EXECUTION = "Execution Flow";
088
089    public static final String CAT_DOCUMENT = "Document";
090
091    public static final String CAT_BLOB = "Files";
092
093    public static final String CAT_NOTIFICATION = "Notification";
094
095    public static final String CAT_SERVICES = "Services";
096
097    public static final String CAT_CONVERSION = "Conversion";
098
099    public static final String CAT_USERS_GROUPS = "Users & Groups";
100
101    public static final String CAT_UI = "User Interface";
102
103    public static final String CAT_LOCAL_CONFIGURATION = "Local Configuration";
104
105    public static final String CAT_WORKFLOW = "Workflow Context";
106
107    public static final String SEAM_CONTEXT = "Seam";
108
109    public static final String WORKFLOW_CONTEXT = "Workflow";
110
111    public static final String CAT_BUSINESS = "Business";
112
113    /**
114     * @since 5.9.4
115     */
116    public static final String CAT_CHAIN = "Chain";
117
118    // Widget types
119
120    // the default Widget for String or any other unknown type
121    public static final String W_TEXT = "Text";
122
123    public static final String W_MULTILINE_TEXT = "TextArea";
124
125    public static final String W_MAIL_TEMPLATE = "MailTemplate";
126
127    public static final String W_TEMPLATE_RESOURCE = "TemplateResource";
128
129    // to edit a properties table
130    public static final String W_PROPERTIES = "Properties";
131
132    // the default widget for Boolean
133    public static final String W_CHECK = "Check";
134
135    public static final String W_RADIO = "Radio";
136
137    // a single selection listbox
138    public static final String W_OPTION = "Option";
139
140    public static final String W_LIST = "List";
141
142    public static final String W_COMBO = "Combo";
143
144    // Default widget for Date
145    public static final String W_DATE = "Date";
146
147    // Default widget for Long
148    public static final String W_DECIMAL = "Decimal";
149
150    // Default widget for Double
151    public static final String W_NUMBER = "Number";
152
153    public static final String W_AUDIT_EVENT = "AuditEvent";
154
155    // key for setting workflow variables on the operation context
156    public static final String VAR_WORKFLOW = "WorkflowVariables";
157
158    // key for setting workflow node variables on the operation context
159    public static final String VAR_WORKFLOW_NODE = "NodeVariables";
160
161    // key for setting chain runtime variables on the operation context
162    public static final String VAR_RUNTIME_CHAIN = "ChainParameters";
163
164    /**
165     * Key to define if we are in a chain or not on the Operation Context
166     *
167     * @since 7.10
168     */
169    public static final String VAR_IS_CHAIN = "isChainExecution";
170
171    /**
172     * Key for setting mvel expression result to keep when trace mode enabled
173     *
174     * @since 7.3
175     */
176    public static final String MVEL_RESULTS = "MvelResults";
177
178    private Constants() {
179    }
180
181}