Package io.wcm.wcm.commons.util
Class Path
java.lang.Object
io.wcm.wcm.commons.util.Path
Handling of paths and absolute parents in AEM.
The methods implement special handling for AEM features:
- Side-by-side version comparison (at
/tmp/versionhistoryor/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 Summary
Modifier and TypeMethodDescriptionstatic intgetAbsoluteLevel(@NotNull String path, @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Gets level from parent use same logic (but reverse) asgetAbsoluteParent(Page, int, ResourceResolver).static @Nullable com.day.cq.wcm.api.PagegetAbsoluteParent(@NotNull com.day.cq.wcm.api.Page page, int parentLevel, @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Get absolute parent of given path.static @NotNull StringgetAbsoluteParent(@NotNull String path, int parentLevel, @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Get absolute parent of given path.static @Nullable StringgetOriginalPath(@NotNull String path, @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver) Resolve original path if the path is a version history or launch path.static booleanisEditableTemplatePath(@NotNull String path) static booleanisExperienceFragmentPath(@NotNull String path)
-
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 forText.getAbsoluteParent(String, int).- Parameters:
path- PathparentLevel- Parent levelresourceResolver- 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 forPage.getAbsoluteParent(int).- Parameters:
page- PageparentLevel- Parent levelresourceResolver- 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) asgetAbsoluteParent(Page, int, ResourceResolver). If the path is a version history or launch path the original path is returned.- Parameters:
path- PathresourceResolver- 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- PathresourceResolver- Resource resolver- Returns:
- Path that is not a version history or launch path
-
isExperienceFragmentPath
- Parameters:
path- Content path- Returns:
- true if content path is inside experience fragements path.
-
isEditableTemplatePath
- Parameters:
path- Content path- Returns:
- true if content path is inside an editable template definition.
-