Package io.wcm.handler.link.type
Class InternalLinkType
java.lang.Object
io.wcm.handler.link.spi.LinkType
io.wcm.handler.link.type.InternalLinkType
@Model(adaptables={org.apache.sling.api.SlingHttpServletRequest.class,org.apache.sling.api.resource.Resource.class})
@ProviderType
public final class InternalLinkType
extends LinkType
Default implementation of
LinkType for internal links.
Internal links are links to content pages inside the CMS.
This link type ensures all links target only pages inside the same inner-most configuration scope, which is usually
the same site/language. All link paths referencing pages outside this content subtree are rewritten via
UrlHandler.rewritePathToContext(Resource) with the root path of the inner-most configuration scope/site and
then resolved.
-
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
-
InternalLinkType
public InternalLinkType()
-
-
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
-