001package org.apache.turbine;
002
003/*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements.  See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership.  The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License.  You may obtain a copy of the License at
011 *
012 *   http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied.  See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022import org.apache.turbine.pipeline.TurbinePipeline;
023
024
025
026
027/**
028 * This interface contains all the constants used throughout
029 * the Turbine code base.
030 *
031 * @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
032 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
033 * @author <a href="mailto:seade@backstagetech.com.au">Scott Eade</a>
034 * @version $Id: TurbineConstants.java 1853146 2019-02-07 16:14:46Z gk $
035 */
036public interface TurbineConstants
037{
038        /**
039         * <p>The prefix used to denote the namespace reserved for and
040         * used by Turbine-specific configuration parameters (such as
041         * those passed in via servlet container's config file
042         * (<code>server.xml</code>), or the web app deployment descriptor
043         * (<code>web.xml</code>).</p>
044         *
045         * <p>For example, a parameter in the Turbine namespace would be
046         * <code>org.apache.turbine.loggingRoot</code>.</p>
047         */
048        String CONFIG_NAMESPACE = "org.apache.turbine";
049
050        /** The key for the Log4J File */
051        String LOG4J2_CONFIG_FILE = "log4j2.file";
052        /** old key as a reminder */
053        String LOG4J_CONFIG_FILE = "log4j.file";
054
055        /** The default value for the Log4J File */
056        String LOG4J2_CONFIG_FILE_DEFAULT = "/WEB-INF/conf/log4j2.xml";
057
058        /** This is the default log file to be used for logging */
059        String DEFAULT_LOGGER = "turbine";
060
061        /** The logging facility which captures output from the SchedulerService. */
062        String SCHEDULER_LOG_FACILITY = "scheduler";
063
064        /** The SMTP server Turbine uses to send mail. */
065        String MAIL_SERVER_KEY = "mail.server";
066
067        /** Default Value for he SMTP server that Turbine uses to send mail. */
068        String MAIL_SERVER_DEFAULT = "localhost";
069
070        /** The Smtp sender address property */
071        String MAIL_SMTP_FROM = "mail.smtp.from";
072
073        /** Property that controls whether Turbine modules are cached or not. */
074        String MODULE_CACHE_KEY = "module.cache";
075
076        /** Default value of the Turbine Module Caching */
077        boolean MODULE_CACHE_DEFAULT = true;
078
079    /** Property that controls the module cache size. */
080    String MODULE_CACHE_SIZE_KEY = "module.cache.size";
081
082    /** Default value of the Turbine Module Cache Size */
083    int MODULE_CACHE_SIZE_DEFAULT = 128;
084
085        /** The packages where Turbine will look for modules. */
086        String MODULE_PACKAGES = "module.packages";
087
088        /** Home page template. */
089        String TEMPLATE_HOMEPAGE = "template.homepage";
090
091        /** Login template. */
092        String TEMPLATE_LOGIN = "template.login";
093
094        /** Template error template Property. */
095        String TEMPLATE_ERROR_KEY = "template.error";
096
097        /** Template error default for JSP */
098        String TEMPLATE_ERROR_JSP = "error.jsp";
099
100        /** Template error default for Velocity */
101        String TEMPLATE_ERROR_VM = "error.vm";
102
103        /** Home page screen. */
104        String SCREEN_HOMEPAGE = "screen.homepage";
105
106        /** Login screen. */
107        String SCREEN_LOGIN = "screen.login";
108
109        /** Login error screen. */
110        String SCREEN_ERROR_KEY = "screen.error";
111
112        /** Default value for Login Screen */
113        String SCREEN_ERROR_DEFAULT = "VelocityErrorScreen";
114
115        /** Report Screen for invalid state in the application*/
116        String SCREEN_INVALID_STATE = "screen.invalidstate";
117
118        /** Report Template for invalid state in the application */
119        String TEMPLATE_INVALID_STATE = "template.invalidstate";
120
121        /** Action to perform when a user logs in. */
122        String ACTION_LOGIN_KEY = "action.login";
123
124        /** Default Value for login Action */
125        String ACTION_LOGIN_DEFAULT = "LoginUser";
126
127        /** Action to perform when a user logs out. */
128        String ACTION_LOGOUT_KEY = "action.logout";
129
130        /** Default Value for ACTION_LOGOUT */
131        String ACTION_LOGOUT_DEFAULT = "LogoutUser";
132
133        /** Actions that performs session validation. */
134        String ACTION_SESSION_VALIDATOR_KEY = "action.sessionvalidator";
135
136        /** Default value for the session validator. (org.apache.modules.actions.sessionvalidator.TemplateSessionValidator) */
137        String ACTION_SESSION_VALIDATOR_DEFAULT = "sessionvalidator.TemplateSessionValidator";
138
139        /** Action that performs Access control */
140        String ACTION_ACCESS_CONTROLLER_KEY = "action.accesscontroller";
141
142        /** Default value for the access controller. (org.apache.modules.actions.AccessController) */
143        String ACTION_ACCESS_CONTROLLER_DEFAULT = "AccessController";
144
145        /** Select whether an Action Event must have a non-zero value */
146        String ACTION_EVENTSUBMIT_NEEDSVALUE_KEY = "action.eventsubmit.needsvalue";
147
148        /** Default value for action.eventsubmit.needsvalue */
149        boolean ACTION_EVENTSUBMIT_NEEDSVALUE_DEFAULT = false;
150
151        /** Select whether an exception in an Action method is bubbled up to Turbine.handleException() */
152        String ACTION_EVENT_BUBBLE_EXCEPTION_UP = "action.event.bubbleexception";
153
154        /** Default value for action.event.bubbleexception */
155        boolean ACTION_EVENT_BUBBLE_EXCEPTION_UP_DEFAULT = true;
156
157        /** Default layout. */
158        String LAYOUT_DEFAULT = "layout.default";
159
160        /** Default page. */
161        String PAGE_DEFAULT_KEY = "page.default";
162
163        /** Default value for the Default Page */
164        String PAGE_DEFAULT_DEFAULT = "DefaultPage";
165
166        /** Default value for the Default Screen */
167        String SCREEN_DEFAULT_DEFAULT = "DefaultScreen";
168
169        /** Message to display upon successful login. */
170        String LOGIN_MESSAGE = "login.message";
171
172        /** Message to display when a user fails to login. */
173        String LOGIN_ERROR = "login.error";
174
175        /** Message to display when screens variable invalid. */
176        String LOGIN_MESSAGE_NOSCREEN = "login.message.noscreen";
177
178        /** Message to display when a user logs out. */
179        String LOGOUT_MESSAGE = "logout.message";
180
181        /** Session Timeout */
182        String SESSION_TIMEOUT_KEY = "session.timeout";
183
184        /** Session Timeout Default Value */
185        int SESSION_TIMEOUT_DEFAULT = -1;
186
187        /** Indicate whether this Turbine application is using SSL. */
188        String USE_SSL_KEY = "use.ssl";
189
190        /** Default value for the SSL key */
191        boolean USE_SSL_DEFAULT = true;
192
193        /**
194         * Should the PP fold the case of everything. Possible values are
195         * "upper", "lower" and "none".
196         */
197        String PP_URL_CASE_FOLDING = "url.case.folding";
198
199        /** Default document type. */
200        String DEFAULT_DOCUMENT_TYPE_KEY = "default.doctype";
201
202        /** Default doctype root element. */
203        String DEFAULT_HTML_DOCTYPE_ROOT_ELEMENT_KEY
204                        = "default.html.doctype.root.element";
205
206        /** Default value for the doctype root element */
207        String DEFAULT_HTML_DOCTYPE_ROOT_ELEMENT_DEFAULT
208                        = "HTML";
209
210        /** Default doctype dtd. */
211        String DEFAULT_HTML_DOCTYPE_IDENTIFIER_KEY
212                        = "default.html.doctype.identifier";
213
214        /** Default Doctype dtd value */
215        String DEFAULT_HTML_DOCTYPE_IDENTIFIER_DEFAULT
216                        = "-//W3C//DTD HTML 4.01 Transitional//EN";
217
218        /** Default doctype url. */
219        String DEFAULT_HTML_DOCTYPE_URI_KEY
220                        = "default.html.doctype.url";
221
222        /** Default doctype url value. */
223        String DEFAULT_HTML_DOCTYPE_URI_DEFAULT
224                        = "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd";
225
226        /** Define content types **/
227        String DEFAULT_HTML_CONTENT_TYPE = "text/html";
228        String DEFAULT_TEXT_CONTENT_TYPE = "text/plain";
229        String DEFAULT_CSS_CONTENT_TYPE = "text/css";
230        
231        /** Default Language property */
232        String LOCALE_DEFAULT_LANGUAGE_KEY = "locale.default.language";
233
234        /** Default value for Language property */
235        String LOCALE_DEFAULT_LANGUAGE_DEFAULT = "en";
236
237        /** Default Country property */
238        String LOCALE_DEFAULT_COUNTRY_KEY = "locale.default.country";
239
240        /** Default value for Country property */
241        String LOCALE_DEFAULT_COUNTRY_DEFAULT = "US";
242
243        /** Default Charset property */
244        String LOCALE_DEFAULT_CHARSET_KEY = "locale.default.charset";
245
246        /** Default value for Charset property */
247        String LOCALE_DEFAULT_CHARSET_DEFAULT = "ISO-8859-1";
248
249    /** Override Charset property */
250    String LOCALE_OVERRIDE_CHARSET_KEY = "locale.override.charset";
251
252        /** If this value is set as applicationRoot, then the webContext is used
253         * as application root
254         */
255        String WEB_CONTEXT = "webContext";
256
257        /** Key for the Path to the TurbineResources.properties File */
258        String APPLICATION_ROOT_KEY = "applicationRoot";
259
260        /** Default Value for the Path to the TurbineResources.properties File */
261        String APPLICATION_ROOT_DEFAULT = WEB_CONTEXT;
262
263        /** This is the key used in the Turbine.properties to access resources
264         * relative to the Web Application root. It might differ from the
265         * Application root, but the normal case is, that the webapp root
266         * and the application root point to the same path.
267         */
268        String WEBAPP_ROOT_KEY = "webappRoot";
269
270        /** The Key in the deployment descriptor for the Logging Directory */
271        String LOGGING_ROOT_KEY = "loggingRoot";
272
273        /** Default Value for the Logging Directory, relative to the webroot */
274        String LOGGING_ROOT_DEFAULT = "/logs";
275
276        /** Key for loading the UUID Generator with a constant value */
277        String UUID_ADDRESS_KEY = "uuid.address";
278
279        /** Context Key for the screen placeholder in the various velocity layouts */
280        String SCREEN_PLACEHOLDER = "screen_placeholder";
281
282        /** Context Key for the navigation object placeholder in the various velocity layouts */
283        String NAVIGATION_PLACEHOLDER = "navigation";
284
285        /** Context Key for the Processing Exception */
286        String PROCESSING_EXCEPTION_PLACEHOLDER = "processingException";
287
288        /** Context Key for the Stack Trace */
289        String STACK_TRACE_PLACEHOLDER = "stackTrace";
290
291    /** Encoding for Parameter Parser */
292    String PARAMETER_ENCODING_KEY = "input.encoding";
293
294    /** Default Encoding for Parameter Parser */
295    String PARAMETER_ENCODING_DEFAULT = "ISO-8859-1";
296
297    /** Default serverName for ServerData */
298    String DEFAULT_SERVER_NAME_KEY
299            = "serverdata.default.serverName";
300
301    /** Default serverPort for ServerData */
302    String DEFAULT_SERVER_PORT_KEY
303            = "serverdata.default.serverPort";
304
305    /** Default serverScheme for ServerData */
306    String DEFAULT_SERVER_SCHEME_KEY
307            = "serverdata.default.serverScheme";
308
309    /** Default scriptName for ServerData */
310    String DEFAULT_SCRIPT_NAME_KEY
311            = "serverdata.default.scriptName";
312
313    /** Default contextPath for ServerData */
314    String DEFAULT_CONTEXT_PATH_KEY
315            = "serverdata.default.contextPath";
316
317    /** The default Session key for the Access Control List */
318    String ACL_SESSION_KEY = "turbine.AccessControlList";
319
320    /**
321         * The fully qualified class name of the default {@link
322         * org.apache.turbine.pipeline.Pipeline} implementation to use in the
323         * {@link org.apache.turbine.Turbine} servlet.
324         */
325        String STANDARD_PIPELINE = TurbinePipeline.class.getName();
326}