Package io.wcm.handler.link.type
Class InternalCrossContextLinkType
java.lang.Object
io.wcm.handler.link.spi.LinkType
io.wcm.handler.link.type.InternalCrossContextLinkType
@Model(adaptables={org.apache.sling.api.SlingHttpServletRequest.class,org.apache.sling.api.resource.Resource.class})
@ProviderType
public final class InternalCrossContextLinkType
extends LinkType
Implementation of
LinkType for internal links with supports
links between different sites or configuration context paths.
Internal links are links to content pages inside the CMS.
This link type ensures that links that are referenced from other sites/configuration contexts are resolved using the URL handler configuration of the target context, e.g. with the Site URL from the other site.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccepts(@NotNull LinkRequest linkRequest) Checks whether a link reference can be handled by this link typebooleanChecks whether a link reference string can be handled by this link type@Nullable StringGranite UI component resource type to be used for editing this link type's properties in edit dialog.@NotNull StringgetId()Get link type ID.@NotNull StringgetLabel()Get link type label.Get primary link reference property.static @NotNull org.apache.sling.api.resource.ResourcegetSyntheticLinkResource(@NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver, @NotNull String path, @NotNull String pageRef) Get synthetic link resource for this link type.booleanReturns true if a RTE plugin is available for this link type.@NotNull LinkresolveLink(@NotNull Link link) Resolves a linktoString()
-
Field Details
-
ID
Link type ID- See Also:
-
-
Constructor Details
-
InternalCrossContextLinkType
public InternalCrossContextLinkType()
-
-
Method Details
-
getId
Description copied from class:LinkTypeGet link type ID. -
getLabel
Description copied from class:LinkTypeGet link type label. -
getPrimaryLinkRefProperty
Description copied from class:LinkTypeGet primary link reference property.- Specified by:
getPrimaryLinkRefPropertyin classLinkType- Returns:
- Name of the property in which the primary link reference is stored
-
getEditComponentResourceType
Description copied from class:LinkTypeGranite UI component resource type to be used for editing this link type's properties in edit dialog.- Overrides:
getEditComponentResourceTypein classLinkType- Returns:
- Granite UI component resource type or null, if none is available
-
hasRichTextPlugin
public boolean hasRichTextPlugin()Description copied from class:LinkTypeReturns true if a RTE plugin is available for this link type. If not, it is not possible to select this link type in the rich text editor.- Overrides:
hasRichTextPluginin classLinkType- Returns:
- true if a RTE plugin is available.
-
accepts
Description copied from class:LinkTypeChecks whether a link reference string can be handled by this link type -
accepts
Description copied from class:LinkTypeChecks whether a link reference can be handled by this link type -
resolveLink
Description copied from class:LinkTypeResolves a link- Specified by:
resolveLinkin classLinkType- Parameters:
link- Link metadata- Returns:
- Resolved link metadata. Never null.
-
getSyntheticLinkResource
@NotNull public static @NotNull org.apache.sling.api.resource.Resource getSyntheticLinkResource(@NotNull @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver, @NotNull @NotNull String path, @NotNull @NotNull String pageRef) Get synthetic link resource for this link type.- Parameters:
resourceResolver- Resource resolverpath- Resource path. Can be a non-existing path, but the path should be located somewhere within the applications content paths to make sure the handler configuration looked up via context-aware services is the expected one.pageRef- Path to target page- Returns:
- Synthetic link resource
-
toString
-