Class Link

java.lang.Object
io.wcm.handler.link.Link

@ProviderType public final class Link extends Object
Holds information about a link processed and resolved by LinkHandler.
  • Constructor Details

    • Link

      public Link(@NotNull @NotNull LinkType linkType, @NotNull @NotNull LinkRequest linkRequest)
      Constructor.
      Parameters:
      linkType - Link type
      linkRequest - Processed link reference
  • Method Details

    • getLinkType

      @NotNull public @NotNull LinkType getLinkType()
      Get link type.
      Returns:
      Link type
    • getLinkRequest

      @NotNull public @NotNull LinkRequest getLinkRequest()
      Get link request.
      Returns:
      Link request
    • setLinkRequest

      public void setLinkRequest(@NotNull @NotNull LinkRequest linkRequest)
      Set link request.
      Parameters:
      linkRequest - Link request
    • isLinkReferenceInvalid

      public boolean isLinkReferenceInvalid()
      Check if link reference is invalid.
      Returns:
      true if a link reference was set, but the reference was invalid and could not be resolved
    • setLinkReferenceInvalid

      public void setLinkReferenceInvalid(boolean linkReferenceInvalid)
      Set link reference invalid flag.
      Parameters:
      linkReferenceInvalid - true if a link reference was set, but the reference was invalid and could not be resolved
    • getAnchor

      @Nullable public @Nullable io.wcm.handler.commons.dom.Anchor getAnchor()
      Get anchor element.
      Returns:
      Anchor element
    • getAnchorAttributes

      @Nullable public @Nullable Map<String,String> getAnchorAttributes()
      Get anchor attributes as map.
      Returns:
      Map with all attributes of the anchor element. Returns null if anchor element is null.
    • setAnchorBuilder

      public void setAnchorBuilder(@NotNull @NotNull Function<Link,io.wcm.handler.commons.dom.Anchor> anchorBuilder)
      Set anchor builder function.
      Parameters:
      anchorBuilder - Function that builds an anchor representation on demand
    • getMarkup

      @Nullable public @Nullable String getMarkup()
      Get link markup.
      Returns:
      Link markup (only the opening anchor tag) or null if resolving was not successful.
    • getUrl

      @Nullable public @Nullable String getUrl()
      Get link URL.
      Returns:
      Link URL
    • setUrl

      public void setUrl(@Nullable @Nullable String url)
      Set link URL.
      Parameters:
      url - Link URL
    • getTitle

      @Nullable public @Nullable String getTitle()
      Get link title. This is only supported, if the link was build from a resource with link properties, and in this resource a property LinkNameConstants.PN_LINK_TITLE is set.
      Returns:
      Link title
    • getTargetPage

      @Nullable public @Nullable com.day.cq.wcm.api.Page getTargetPage()
      Get target page.
      Returns:
      Target page referenced by the link (applies only for internal links)
    • setTargetPage

      public void setTargetPage(@Nullable @Nullable com.day.cq.wcm.api.Page targetPage)
      Set target page.
      Parameters:
      targetPage - Target page referenced by the link (applies only for internal links)
    • getTargetAsset

      @Nullable public @Nullable io.wcm.handler.media.Asset getTargetAsset()
      Get target asset.
      Returns:
      Target media item (applies only for media links)
    • setTargetAsset

      public void setTargetAsset(@Nullable @Nullable io.wcm.handler.media.Asset targetAsset)
      Set target asset.
      Parameters:
      targetAsset - Target media item (applies only for media links)
    • getTargetRendition

      @Nullable public @Nullable io.wcm.handler.media.Rendition getTargetRendition()
      Get target rendition.
      Returns:
      Target media rendition (applies only for media links)
    • setTargetRendition

      public void setTargetRendition(@Nullable @Nullable io.wcm.handler.media.Rendition targetRendition)
      Set target rendition.
      Parameters:
      targetRendition - Target media rendition (applies only for media links)
    • getRedirectPages

      @NotNull public @NotNull List<com.day.cq.wcm.api.Page> getRedirectPages()
      During link resolution one or multiple redirect pages may get resolved and replaced by the referenced link target. This page list gives access to all redirect pages that where visited and resolved during the link resolution process.
      Returns:
      List of links in the "resolve history".
    • addRedirectPage

      public void addRedirectPage(@NotNull @NotNull com.day.cq.wcm.api.Page redirectPage)
      Add page to list of redirect pages (at first position of the list).
      Parameters:
      redirectPage - Redirect page
    • isValid

      public boolean isValid()
      Check if link is valid.
      Returns:
      true if link is valid and was resolved successfully
    • toString

      public String toString()
      Overrides:
      toString in class Object