Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.request;

Sling breaks the request URI into four parts: the path itself, optional dot-separated selectors and extension that follow it, and an optional path suffix.

Decomposition of a Request URL

  1. content path - The longest substring of the request URI resolving to a org.apache.sling.api.resource.Resource object such that the content path is either the complete request URI or the next character in the request URI after the content path is either a dot (.) or a slash (/).
  2. selectors - If the first character in the request URI after the content path is a dot, the string after the dot upto but not including the last dot before the next slash character or the end of the request URI. If the content path spans the complete request URI or if a slash follows the content path in the request, then no seletors exist. If only one dot follows the content path before the end of the request URI or the next slash, no selectors exist. The selectors are available as a single string and as an array of strings, which is the selector string splitted on dots.
  3. extension - The string after the last dot after the content path in the request uri but before the end of the request uri or the next slash after the content path in the request uri. If the content path spans the complete request URI or a slash follows the content path in the request URI, the extension is empty.
  4. suffix path - If the request URI contains a slash character after the content path and optional selectors and extension, the path starting with the slash upto the end of the request URI is the suffix path.

Examples:

URIContent PathSelectorsExtensionSuffix
/a/b/a/bnullnullnull
/a/b.html/a/bnullhtmlnull
/a/b.s1.html/a/bs1htmlnull
/a/b.s1.s2.html/a/bs1.s2htmlnull
/a/b/c/d/a/bnullnull/c/d
/a/b.html/c/d/a/bnullhtml/c/d
/a/b.s1.html/c/d/a/bs1html/c/d
/a/b.s1.s2.html/c/d/a/bs1.s2html/c/d
/a/b/c/d.s.txt/a/bnullnull/c/d.s.txt
/a/b.html/c/d.s.txt/a/bnullhtml/c/d.s.txt
/a/b.s1.html/c/d.s.txt/a/bs1html/c/d.s.txt
/a/b.s1.s2.html/c/d.s.txt/a/bs1.s2html/c/d.s.txt
public interface RequestPathInfo {

    
Return the "resource path" part of the URL, what comes before selectors, extension and suffix. This string is part of the request URL and need not be equal to the org.apache.sling.api.resource.Resource.getPath(). Rather it is equal to the resolution path metadata property of the resource.
    String getResourcePath();

    
Returns the extension from the URL or null if the request URL does not contain an extension.

Decomposition of the request URL is defined in the Decomposition of a Request URL above.

Returns:
The extension from the request URL.
    String getExtension();

    
Returns the selectors decoded from the request URL as string. Returns null if the request has no selectors.

Decomposition of the request URL is defined in the Decomposition of a Request URL above.

See also:
getSelectors()
    String getSelectorString();

    
Returns the selectors decoded from the request URL as an array of strings. This array is derived from the selector string by splitting the string on dots. Returns an empty array if the request has no selectors.

Decomposition of the request URL is defined in the Decomposition of a Request URL above.

    String[] getSelectors();

    
Returns the suffix part of the URL or null if the request URL does not contain a suffix.

Decomposition of the request URL is defined in the Decomposition of a Request URL above.

Returns:
The suffix part of the request URL.
    String getSuffix();
New to GrepCode? Check out our FAQ X