/* Copyright 2005-2006 Tim Fennell
*
* 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 net.sourceforge.stripes.controller;
import net.sourceforge.stripes.util.Literal;
import java.util.Set;
import java.util.Collections;
/**
* Container for constant values that are used across more than one class in Stripes.
*
* @author Tim Fennell
*/
public interface StripesConstants {
/**
* The name of a URL parameter that is used to hold the path (relative to the web application
* root) from which the current form submission was made.
*/
String URL_KEY_SOURCE_PAGE = "_sourcePage";
/**
* The name of a URL parameter that is used to hold the names of certain inputs that are present
* in a form if those inputs might not be submitted with the form, such as checkboxes.
*/
String URL_KEY_FIELDS_PRESENT = "__fp";
/**
* The name of a URL parameter that is used as a last resort to attempt to determine
* the name of the event that is being fired by the browser.
*/
String URL_KEY_EVENT_NAME = "_eventName";
/**
* The name of a URL parameter that is used to tell Stripes that a flash scope exists
* for the current request.
*/
String URL_KEY_FLASH_SCOPE_ID = "__fsk";
/**
* An immutable set of URL keys or request parameters that have special meaning to Stripes and
* as a result should not be referenced in binding, validation or other other places that
* work on the full set of request parameters.
*/
Set<String> SPECIAL_URL_KEYS = Collections.unmodifiableSet(
Literal.set(StripesConstants.URL_KEY_SOURCE_PAGE,
StripesConstants.URL_KEY_FIELDS_PRESENT,
StripesConstants.URL_KEY_FLASH_SCOPE_ID,
StripesConstants.URL_KEY_EVENT_NAME));
/**
* The name under which the ActionBean for a request is stored as a request attribute before
* forwarding to the JSP.
*/
String REQ_ATTR_ACTION_BEAN = "actionBean";
/**
* The name of a request attribute in which a Stack of action beans is some times stored
* when a single request involves includes of action beans.
*/
String REQ_ATTR_ACTION_BEAN_STACK = "__stripes_actionBeanStack";
/**
* The attribute key that is used to store the default set of non-error messages for
* display to the user.
*/
String REQ_ATTR_MESSAGES = "_stripes_defaultMessages";
/**
* The attribute key that is used to store the tag stack during page processing. The tag
* stack is a Stack of Stripes tags so that parent tag relationships can work across
* includes etc.
*/
String REQ_ATTR_TAG_STACK = "__stripes_tag_stack";
/**
* The name of a request parameter that holds a Map of flash scopes keyed by the
* hash code of the request that generated them.
*/
String REQ_ATTR_FLASH_SCOPE_LOCATION = "__flash_scopes";
/** The name of a request attribute that holds the lookup key of the current flash scope. */
String REQ_ATTR_CURRENT_FLASH_SCOPE = "__current_flash_scope";
/**
* The name of a request attribute that is checked first to determine the
* name of the event that should fire.
*/
String REQ_ATTR_EVENT_NAME = "__stripes_event_name";
/**
* Request attribute key defined by the servlet spec for storing the included servlet
* path when processing a server side include.
*/
String REQ_ATTR_INCLUDE_PATH = "javax.servlet.include.servlet_path";
/**
* Request attribute key defined by the servlet spec for storing the included path
* info when processing a server side include.
*/
String REQ_ATTR_INCLUDE_PATH_INFO = "javax.servlet.include.path_info";
}