Class ComponentUtils
- java.lang.Object
-
- com.adobe.cq.wcm.core.components.util.ComponentUtils
-
public final class ComponentUtils extends java.lang.Object
Utility helper functions for components.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ID_SEPARATOR
Name of the separator character used between prefix and hash when generating an ID, e.g.static java.lang.String
NN_SLING_CONFIGS
Name of the node holding the context aware configurations below /conf/{site-name};
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static @NotNull java.lang.String
generateId(@NotNull java.lang.String prefix, @NotNull java.lang.String path)
Returns an ID based on the prefix, the ID_SEPARATOR and a hash of the path, e.g.static @NotNull java.util.List<Resource>
getChildComponents(@NotNull Resource resource, @Nullable SlingHttpServletRequest request)
Gets a list of all child resources that are components.static java.util.LinkedHashMap<java.lang.String,ComponentExporter>
getComponentModels(@NotNull SlingModelFilter slingModelFilter, @NotNull ModelFactory modelFactory, @NotNull java.util.List<Resource> childComponents, @NotNull SlingHttpServletRequest request, @NotNull java.lang.Class<ComponentExporter> modelClass)
Gets the models for the child resources that are components, filtered by the Sling Model Filter.static java.util.LinkedHashMap<java.lang.String,ComponentExporter>
getComponentModels(@NotNull SlingModelFilter slingModelFilter, @NotNull ModelFactory modelFactory, @NotNull SlingHttpServletRequest request, @NotNull java.lang.Class<ComponentExporter> modelClass)
Gets the models for the child resources that are components, filtered by the Sling Model Filter.static @NotNull Resource
getEffectiveResource(@NotNull Resource resource, @Nullable SlingHttpServletRequest request)
Gets the effectiveTemplatedResource
for the specified resource.static @Nullable Resource
getFeaturedImage(@NotNull Page page)
Returns the resource holding the properties of the featured image of the page.static @NotNull java.lang.String
getId(@NotNull Resource resource, @Nullable Page currentPage, @Nullable ComponentContext componentContext)
static @NotNull java.lang.String
getId(@NotNull Resource resource, @Nullable Page currentPage, @Nullable java.lang.String resourceCallerPath, @Nullable ComponentContext componentContext)
Get the ID property value if set (usinggetPropertyId(Resource)
, otherwise generate a new ID (usinggenerateId(Resource, Page, String, ComponentContext)
.static boolean
isDataLayerEnabled(@NotNull Resource resource)
Check if data layer is enabled.static boolean
isDataLayerEnabled(@Nullable SlingHttpServletRequest request, @NotNull Resource resource)
Check if data layer is enabled.
-
-
-
Field Detail
-
NN_SLING_CONFIGS
public static final java.lang.String NN_SLING_CONFIGS
Name of the node holding the context aware configurations below /conf/{site-name};- See Also:
- Constant Field Values
-
ID_SEPARATOR
public static final java.lang.String ID_SEPARATOR
Name of the separator character used between prefix and hash when generating an ID, e.g. image-5c7e0ef90d- See Also:
- Constant Field Values
-
-
Method Detail
-
isDataLayerEnabled
public static boolean isDataLayerEnabled(@Nullable @Nullable SlingHttpServletRequest request, @NotNull @NotNull Resource resource)
Check if data layer is enabled.- Parameters:
request
- The request in which context this happensresource
- The resource to check.- Returns:
- True if data layer is enabled for this resource, false otherwise.
-
isDataLayerEnabled
public static boolean isDataLayerEnabled(@NotNull @NotNull Resource resource)
Check if data layer is enabled.- Parameters:
resource
- The resource to check.- Returns:
- True if data layer is enabled for this resource, false otherwise.
-
getId
@NotNull public static @NotNull java.lang.String getId(@NotNull @NotNull Resource resource, @Nullable @Nullable Page currentPage, @Nullable @Nullable ComponentContext componentContext)
- Parameters:
resource
- The resource for which to get or generate an ID.currentPage
- The current request page.componentContext
- The current component context.- Returns:
- The ID property value for the specified resource, or a generated ID if not set.
-
getId
@NotNull public static @NotNull java.lang.String getId(@NotNull @NotNull Resource resource, @Nullable @Nullable Page currentPage, @Nullable @Nullable java.lang.String resourceCallerPath, @Nullable @Nullable ComponentContext componentContext)
Get the ID property value if set (usinggetPropertyId(Resource)
, otherwise generate a new ID (usinggenerateId(Resource, Page, String, ComponentContext)
.- Parameters:
resource
- The resource for which to get or generate an ID.currentPage
- The current request page.resourceCallerPath
- The path of the page or template resource that references this component.componentContext
- The current component context.- Returns:
- The ID property value for the specified resource, or a generated ID if not set.
-
generateId
@NotNull public static @NotNull java.lang.String generateId(@NotNull @NotNull java.lang.String prefix, @NotNull @NotNull java.lang.String path)
Returns an ID based on the prefix, the ID_SEPARATOR and a hash of the path, e.g. image-5c7e0ef90d- Parameters:
prefix
- the prefix for the IDpath
- the resource path- Returns:
- the generated ID
-
getFeaturedImage
@Nullable public static @Nullable Resource getFeaturedImage(@NotNull @NotNull Page page)
Returns the resource holding the properties of the featured image of the page.- Parameters:
page
- the page- Returns:
- the featured image resource
-
getEffectiveResource
@NotNull public static @NotNull Resource getEffectiveResource(@NotNull @NotNull Resource resource, @Nullable @Nullable SlingHttpServletRequest request)
Gets the effectiveTemplatedResource
for the specified resource.- Parameters:
resource
- The resource for which to get the TemplateResource.request
- The current request. This is needed if the resource is potentially part of the template structure.- Returns:
- The TemplatedResource, or the current resource if it cannot be adapted to a TemplatedResource.
-
getChildComponents
@NotNull public static @NotNull java.util.List<Resource> getChildComponents(@NotNull @NotNull Resource resource, @Nullable @Nullable SlingHttpServletRequest request)
Gets a list of all child resources that are components.- Parameters:
resource
- The resource for which to get the children.request
- The current request. This is needed if the resource is potentially part of the template structure.- Returns:
- The list of child resources that are components.
-
getComponentModels
public static java.util.LinkedHashMap<java.lang.String,ComponentExporter> getComponentModels(@NotNull @NotNull SlingModelFilter slingModelFilter, @NotNull @NotNull ModelFactory modelFactory, @NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull java.lang.Class<ComponentExporter> modelClass)
Gets the models for the child resources that are components, filtered by the Sling Model Filter. This should only be used for JSON export, for other usages refer toContainer.getChildren()
.- Parameters:
request
- The current request.modelClass
- The child model class.- Returns:
- Map of models wherein the key is the child name, and the value is it's model.
-
getComponentModels
public static java.util.LinkedHashMap<java.lang.String,ComponentExporter> getComponentModels(@NotNull @NotNull SlingModelFilter slingModelFilter, @NotNull @NotNull ModelFactory modelFactory, @NotNull @NotNull java.util.List<Resource> childComponents, @NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull java.lang.Class<ComponentExporter> modelClass)
Gets the models for the child resources that are components, filtered by the Sling Model Filter. This should only be used for JSON export, for other usages refer toContainer.getChildren()
- Parameters:
request
- The current request.modelClass
- The child model class.- Returns:
- Map of models wherein the key is the child name, and the value is it's model.
-
-