| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 org.apache.sling.api; |
| |
| /** |
| * The <code>SlingConstants</code> interface provides some symbolic constants |
| * for well known constant strings in Sling. Even though these constants will |
| * never change, it is recommended that applications refer to the symbolic |
| * constants instead of code the strings themselves. |
| * <p> |
| * This class is not intended to be extended or instantiated because it just |
| * provides constants not intended to be overwritten. |
| */ |
| public class SlingConstants { |
| |
| /** |
| * The namespace prefix used throughout Sling (value is "sling"). |
| * <p> |
| * The actual use depends on the environment. For example a |
| * {@link org.apache.sling.api.resource.ResourceResolver} using a JCR |
| * repository may name Sling node types and items using namespaces mapped to |
| * this prefix. A JSP tag library for Sling may use this prefix as the |
| * namespace prefix for its tags. |
| */ |
| public static final String NAMESPACE_PREFIX = "sling"; |
| |
| /** |
| * The namespace URI prefix to be used by Sling projects to define |
| * namespaces (value is "http://sling.apache.org/"). |
| * <p> |
| * The actual namespace URI depends on the environment. For example a |
| * {@link org.apache.sling.api.resource.ResourceResolver} using a JCR |
| * repository may define its namespace as |
| * <code><em>NAMESPACE_URI_ROOT + "jcr/sling/1.0"</em></code>. A JSP |
| * tag library for Sling may define its namespace as |
| * <code><em>NAMESPACE_URI_ROOT + "taglib/sling/1.0"</em></code>. |
| */ |
| public static final String NAMESPACE_URI_ROOT = "http://sling.apache.org/"; |
| |
| /** |
| * The name of the request attribute containing the <code>Servlet</code> |
| * which included the servlet currently being active (value is |
| * "org.apache.sling.api.include.servlet"). This attribute is only set if |
| * the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>javax.servlet.Servlet</code>. |
| */ |
| public static final String ATTR_REQUEST_SERVLET = "org.apache.sling.api.include.servlet"; |
| |
| /** |
| * The name of the request attribute containing the <code>Resource</code> |
| * underlying the <code>Servlet</code> which included the servlet currently |
| * being active (value is "org.apache.sling.api.include.resource"). This |
| * attribute is only set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is |
| * <code>org.apache.sling.api.resource.Resource</code>. |
| */ |
| public static final String ATTR_REQUEST_CONTENT = "org.apache.sling.api.include.resource"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>RequestPathInfo</code> underlying the <code>Servlet</code> which |
| * included the servlet currently being active (value is |
| * "org.apache.sling.api.include.request_path_info"). This attribute is only |
| * set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is |
| * <code>org.apache.sling.api.request.RequestPathInfo</code>. |
| */ |
| public static final String ATTR_REQUEST_PATH_INFO = "org.apache.sling.api.include.request_path_info"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>HttpServletRequest.getRequestURI()</code> of the request which |
| * included the servlet currently being active underlying the |
| * <code>Servlet</code> which included the servlet currently being active |
| * (value is "javax.servlet.include.request_uri"). This attribute is only |
| * set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>String</code>. |
| * <p> |
| * <b>Note:</b> In Sling, the |
| * <code>HttpServletRequest.getRequestURI()</code> method will always return |
| * the same result regardless of whether it is called from the client |
| * request processing servlet or script or from an included servlet or |
| * script. This request attribute is set for compatibility with the Servlet |
| * API specification. |
| */ |
| public static final String ATTR_INCLUDE_REQUEST_URI = "javax.servlet.include.request_uri"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>HttpServletRequest.getContextPath()</code> of the request which |
| * included the servlet currently being active underlying the |
| * <code>Servlet</code> which included the servlet currently being active |
| * (value is "javax.servlet.include.context_path"). This attribute is only |
| * set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>String</code>. |
| * <p> |
| * <b>Note:</b> In Sling, the |
| * <code>HttpServletRequest.getContextPath()</code> method will always |
| * return the same result regardless of whether it is called from the client |
| * request processing servlet or script or from an included servlet or |
| * script. This request attribute is set for compatibility with the Servlet |
| * API specification. |
| */ |
| public static final String ATTR_INCLUDE_CONTEXT_PATH = "javax.servlet.include.context_path"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>HttpServletRequest.getServletPath()</code> of the request which |
| * included the servlet currently being active underlying the |
| * <code>Servlet</code> which included the servlet currently being active |
| * (value is "javax.servlet.include.servlet_path"). This attribute is only |
| * set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>String</code>. |
| * <p> |
| * <b>Note:</b> In Sling, the |
| * <code>HttpServletRequest.getServletPath()</code> method will always |
| * return the same result regardless of whether it is called from the client |
| * request processing servlet or script or from an included servlet or |
| * script. This request attribute is set for compatibility with the Servlet |
| * API specification. |
| */ |
| public static final String ATTR_INCLUDE_SERVLET_PATH = "javax.servlet.include.servlet_path"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>HttpServletRequest.getPathInfo()</code> of the request which |
| * included the servlet currently being active underlying the |
| * <code>Servlet</code> which included the servlet currently being active |
| * (value is "javax.servlet.include.path_info"). This attribute is only set |
| * if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>String</code>. |
| * <p> |
| * <b>Note:</b> In Sling, the <code>HttpServletRequest.getPathInfo()</code> |
| * method will always return the same result regardless of whether it is |
| * called from the client request processing servlet or script or from an |
| * included servlet or script. This request attribute is set for |
| * compatibility with the Servlet API specification. |
| */ |
| public static final String ATTR_INCLUDE_PATH_INFO = "javax.servlet.include.path_info"; |
| |
| /** |
| * The name of the request attribute containing the |
| * <code>HttpServletRequest.getQueryString()</code> of the request which |
| * included the servlet currently being active underlying the |
| * <code>Servlet</code> which included the servlet currently being active |
| * (value is "javax.servlet.include.query_string"). This attribute is only |
| * set if the serlvet or script is included via |
| * <code>RequestDispatcher.include</code> from another servlet or script. |
| * <p> |
| * The type of the attribute value is <code>String</code>. |
| * <p> |
| * <b>Note:</b> In Sling, the |
| * <code>HttpServletRequest.getQueryString()</code> method will always |
| * return the same result regardless of whether it is called from the client |
| * request processing servlet or script or from an included servlet or |
| * script. This request attribute is set for compatibility with the Servlet |
| * API specification. |
| */ |
| public static final String ATTR_INCLUDE_QUERY_STRING = "javax.servlet.include.query_string"; |
| |
| // ---------- Error handling ----------------------------------------------- |
| |
| /** |
| * The name of the request attribute containing the exception thrown causing |
| * the error handler to be called (value is |
| * "javax.servlet.error.exception"). This attribute is only available to |
| * error handling servlets and only if an exception has been thrown causing |
| * error handling. |
| * <p> |
| * The type of the attribute value is <code>java.lang.Throwable</code>. |
| */ |
| public static final String ERROR_EXCEPTION = "javax.servlet.error.exception"; |
| |
| /** |
| * The name of the request attribute containing the fully qualified class |
| * name of the exception thrown causing the error handler to be called |
| * (value is "javax.servlet.error.exception_type"). This attribute is only |
| * available to error handling servlets and only if an exception has been |
| * thrown causing error handling. This attribute is present for backwards |
| * compatibility only. Error handling servlet implementors are advised to |
| * use the {@link #ERROR_EXCEPTION Throwable} itself. |
| * <p> |
| * The type of the attribute value is <code>java.lang.String</code>. |
| */ |
| public static final String ERROR_EXCEPTION_TYPE = "javax.servlet.error.exception_type"; |
| |
| /** |
| * The name of the request attribute containing the message of the error |
| * situation (value is "javax.servlet.error.message"). If an exception |
| * caused error handling, this is the exceptions message from |
| * <code>Throwable.getMessage()</code>. If error handling is caused by a |
| * call to one of the <code>SlingHttpServletResponse.sendError</code> |
| * methods, this attribute contains the optional message. |
| * <p> |
| * The type of the attribute value is <code>java.lang.String</code>. |
| */ |
| public static final String ERROR_MESSAGE = "javax.servlet.error.message"; |
| |
| /** |
| * The name of the request attribute containing the URL requested by the |
| * client during whose processing the error handling was caused (value is |
| * "javax.servlet.error.request_uri"). This property is retrieved calling |
| * the <code>SlingHttpServletRequest.getRequestURI()</code> method. |
| * <p> |
| * The type of the attribute value is <code>java.lang.String</code>. |
| */ |
| public static final String ERROR_REQUEST_URI = "javax.servlet.error.request_uri"; |
| |
| /** |
| * The name of the request attribute containing the name of the servlet |
| * which caused the error handling (value is |
| * "javax.servlet.error.servlet_name"). |
| * <p> |
| * The type of the attribute value is <code>java.lang.String</code>. |
| */ |
| public static final String ERROR_SERVLET_NAME = "javax.servlet.error.servlet_name"; |
| |
| /** |
| * The name of the request attribute containing the status code sent to the |
| * client (value is "javax.servlet.error.status_code"). Error handling |
| * servlets may set this status code on their response to the client or they |
| * may choose to set another status code. For example a handler for |
| * NOT_FOUND status (404) may opt to redirect to a new location and thus not |
| * set the 404 status but a MOVED_PERMANENTLY (301) status. If this |
| * attribute is not set and the error handler is not configured to set its |
| * own status code anyway, a default value of INTERNAL_SERVER_ERROR (500) |
| * should be sent. |
| * <p> |
| * The type of the attribute value is <code>java.lang.Integer</code>. |
| */ |
| public static final String ERROR_STATUS = "javax.servlet.error.status_code"; |
| |
| /** |
| * The topic for the OSGi event which is sent when a resource has been added |
| * to the resource tree. |
| * The event contains at least the {@link #PROPERTY_PATH}, {@link #PROPERTY_RESOURCE_SUPER_TYPE} |
| * and {@link #PROPERTY_RESOURCE_TYPE} properties. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| * |
| * @deprecated Register a {@link org.apache.sling.api.resource.observation.ResourceChangeListener} instead |
| */ |
| @Deprecated |
| public static final String TOPIC_RESOURCE_ADDED = "org/apache/sling/api/resource/Resource/ADDED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when a resource has been removed |
| * from the resource tree. |
| * The event contains at least the {@link #PROPERTY_PATH}. As the resource has already been removed |
| * no further information like resource type etc. might be available. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| * |
| * @deprecated Register a {@link org.apache.sling.api.resource.observation.ResourceChangeListener} instead |
| */ |
| @Deprecated |
| public static final String TOPIC_RESOURCE_REMOVED = "org/apache/sling/api/resource/Resource/REMOVED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when a resource has been changed |
| * in the resource tree. |
| * The event contains at least the {@link #PROPERTY_PATH}, {@link #PROPERTY_RESOURCE_SUPER_TYPE} |
| * and {@link #PROPERTY_RESOURCE_TYPE} properties. |
| * Since 2.2.0 the event might contain these properties {@link #PROPERTY_ADDED_ATTRIBUTES}, |
| * {@link #PROPERTY_REMOVED_ATTRIBUTES}, {@link #PROPERTY_CHANGED_ATTRIBUTES}. All of them are |
| * optional. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| * |
| * @deprecated Register a {@link org.apache.sling.api.resource.observation.ResourceChangeListener} instead |
| */ |
| @Deprecated |
| public static final String TOPIC_RESOURCE_CHANGED = "org/apache/sling/api/resource/Resource/CHANGED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when a resource provider has been |
| * added to the resource tree. |
| * The event contains at least the {@link #PROPERTY_PATH} property. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String TOPIC_RESOURCE_PROVIDER_ADDED = "org/apache/sling/api/resource/ResourceProvider/ADDED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when a resource provider has been |
| * removed from the resource tree. |
| * The event contains at least the {@link #PROPERTY_PATH} property. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String TOPIC_RESOURCE_PROVIDER_REMOVED = "org/apache/sling/api/resource/ResourceProvider/REMOVED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when the resource mapping changes. |
| * @since 2.2.0 (Sling API Bundle 2.2.0) |
| */ |
| public static final String TOPIC_RESOURCE_RESOLVER_MAPPING_CHANGED = "org/apache/sling/api/resource/ResourceResolverMapping/CHANGED"; |
| |
| /** |
| * The name of the event property holding the resource path. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String PROPERTY_PATH = "path"; |
| |
| /** |
| * The name of the event property holding the userid. This property is optional. |
| * @since 2.1.0 (Sling API Bundle 2.1.0) |
| */ |
| public static final String PROPERTY_USERID = "userid"; |
| |
| /** |
| * The name of the event property holding the resource type. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String PROPERTY_RESOURCE_TYPE = "resourceType"; |
| |
| /** |
| * The name of the event property holding the resource super type. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String PROPERTY_RESOURCE_SUPER_TYPE = "resourceSuperType"; |
| |
| /** |
| * The name of the event property holding the changed attribute names |
| * of a resource for an {@link #TOPIC_RESOURCE_CHANGED} event. |
| * The value of the property is a string array. |
| * @since 2.2.0 (Sling API Bundle 2.2.0) |
| */ |
| public static final String PROPERTY_CHANGED_ATTRIBUTES = "resourceChangedAttributes"; |
| |
| /** |
| * The name of the event property holding the added attribute names |
| * of a resource for an {@link #TOPIC_RESOURCE_CHANGED} event. |
| * The value of the property is a string array. |
| * @since 2.2.0 (Sling API Bundle 2.2.0) |
| */ |
| public static final String PROPERTY_ADDED_ATTRIBUTES = "resourceAddedAttributes"; |
| |
| /** |
| * The name of the event property holding the removed attribute names |
| * of a resource for an {@link #TOPIC_RESOURCE_CHANGED} event. |
| * The value of the property is a string array. |
| * @since 2.2.0 (Sling API Bundle 2.2.0) |
| */ |
| public static final String PROPERTY_REMOVED_ATTRIBUTES = "resourceRemovedAttributes"; |
| |
| /** |
| * The topic for the OSGi event which is sent when an adapter factory has been added. |
| * The event contains at least the {@link #PROPERTY_ADAPTABLE_CLASSES}, |
| * and {@link #PROPERTY_ADAPTER_CLASSES} poperties. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String TOPIC_ADAPTER_FACTORY_ADDED = "org/apache/sling/api/adapter/AdapterFactory/ADDED"; |
| |
| /** |
| * The topic for the OSGi event which is sent when an adapter factory has been removed. |
| * The event contains at least the {@link #PROPERTY_ADAPTABLE_CLASSES}, |
| * and {@link #PROPERTY_ADAPTER_CLASSES} poperties. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String TOPIC_ADAPTER_FACTORY_REMOVED = "org/apache/sling/api/adapter/AdapterFactory/REMOVED"; |
| |
| /** |
| * The event property listing the fully qualified names of |
| * classes which can be adapted by this adapter factory (value is |
| * "adaptables"). The type of the value is a string array. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String PROPERTY_ADAPTABLE_CLASSES = "adaptables"; |
| |
| /** |
| * The event property listing the fully qualified names of |
| * classes to which this factory can adapt adaptables (value is "adapters"). |
| * The type of the value is a string array. |
| * @since 2.0.6 (Sling API Bundle 2.0.6) |
| */ |
| public static final String PROPERTY_ADAPTER_CLASSES = "adapters"; |
| |
| /** |
| * The name of the request attribute providing the name of the currently |
| * executing servlet (value is "sling.core.current.servletName"). This |
| * attribute is set immediately before calling the |
| * <code>Servlet.service()</code> method and reset to any previously |
| * stored value after the service method returns. |
| * @since 2.1 (Sling API Bundle 2.1.0) |
| */ |
| public static final String SLING_CURRENT_SERVLET_NAME = "sling.core.current.servletName"; |
| } |