Class Path

java.lang.Object
io.wcm.wcm.commons.util.Path

@ProviderType public final class Path extends Object
Handling of paths and absolute parents in AEM.

The methods implement special handling for AEM features:

  • Side-by-side version comparison (at /tmp/versionhistory or /content/versionhistory)
  • Launches (at /content/launches)

Paths starting with one of these special paths are treated in a special way so code relying on the original path structure still works.

  • Method Details

    • getAbsoluteParent

      @NotNull public static @NotNull String getAbsoluteParent(@NotNull @NotNull String path, int parentLevel, @NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)
      Get absolute parent of given path. If the path is a version history or launch path the path level is adjusted accordingly. This is a replacement for Text.getAbsoluteParent(String, int).
      Parameters:
      path - Path
      parentLevel - Parent level
      resourceResolver - Resource resolver
      Returns:
      Absolute parent path or empty string if path is invalid
    • getAbsoluteParent

      @Nullable public static @Nullable com.day.cq.wcm.api.Page getAbsoluteParent(@NotNull @NotNull com.day.cq.wcm.api.Page page, int parentLevel, @NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)
      Get absolute parent of given path. If the path is a version history or launch path the path level is adjusted accordingly. This is a replacement for Page.getAbsoluteParent(int).
      Parameters:
      page - Page
      parentLevel - Parent level
      resourceResolver - Resource resolver
      Returns:
      Absolute parent page or null if path is invalid
    • getAbsoluteLevel

      public static int getAbsoluteLevel(@NotNull @NotNull String path, @NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)
      Gets level from parent use same logic (but reverse) as getAbsoluteParent(Page, int, ResourceResolver). If the path is a version history or launch path the original path is returned.
      Parameters:
      path - Path
      resourceResolver - Resource resolver
      Returns:
      level >= 0 if path is valid, -1 if path is invalid
    • getOriginalPath

      @Nullable public static @Nullable String getOriginalPath(@NotNull @NotNull String path, @NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)
      Resolve original path if the path is a version history or launch path. If the path does not point to any of these locations it is returned unchanged.
      Parameters:
      path - Path
      resourceResolver - Resource resolver
      Returns:
      Path that is not a version history or launch path
    • isExperienceFragmentPath

      public static boolean isExperienceFragmentPath(@NotNull @NotNull String path)
      Parameters:
      path - Content path
      Returns:
      true if content path is inside experience fragements path.
    • isEditableTemplatePath

      public static boolean isEditableTemplatePath(@NotNull @NotNull String path)
      Parameters:
      path - Content path
      Returns:
      true if content path is inside an editable template definition.