Class ExternalLinkType

java.lang.Object
io.wcm.handler.link.spi.LinkType
io.wcm.handler.link.type.ExternalLinkType

@Model(adaptables={org.apache.sling.api.SlingHttpServletRequest.class,org.apache.sling.api.resource.Resource.class}) @ProviderType public final class ExternalLinkType extends LinkType
Default implementation of LinkType for external links. External links are links to destinations outside the CMS.
  • Field Details

  • Constructor Details

    • ExternalLinkType

      public ExternalLinkType()
  • Method Details

    • getId

      @NotNull public @NotNull String getId()
      Description copied from class: LinkType
      Get link type ID.
      Specified by:
      getId in class LinkType
      Returns:
      Link type ID (is stored as identifier in repository)
    • getLabel

      @NotNull public @NotNull String getLabel()
      Description copied from class: LinkType
      Get link type label.
      Overrides:
      getLabel in class LinkType
      Returns:
      Link type label (displayed in link dialogs)
    • getPrimaryLinkRefProperty

      public String getPrimaryLinkRefProperty()
      Description copied from class: LinkType
      Get primary link reference property.
      Specified by:
      getPrimaryLinkRefProperty in class LinkType
      Returns:
      Name of the property in which the primary link reference is stored
    • getEditComponentResourceType

      @Nullable public @Nullable String getEditComponentResourceType()
      Description copied from class: LinkType
      Granite UI component resource type to be used for editing this link type's properties in edit dialog.
      Overrides:
      getEditComponentResourceType in class LinkType
      Returns:
      Granite UI component resource type or null, if none is available
    • hasRichTextPlugin

      public boolean hasRichTextPlugin()
      Description copied from class: LinkType
      Returns 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:
      hasRichTextPlugin in class LinkType
      Returns:
      true if a RTE plugin is available.
    • accepts

      public boolean accepts(@NotNull @NotNull String linkRef)
      Description copied from class: LinkType
      Checks whether a link reference string can be handled by this link type
      Specified by:
      accepts in class LinkType
      Parameters:
      linkRef - Link reference string
      Returns:
      true if this link type can handle the given link reference
    • resolveLink

      @NotNull public @NotNull Link resolveLink(@NotNull @NotNull Link link)
      Description copied from class: LinkType
      Resolves a link
      Specified by:
      resolveLink in class LinkType
      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 url)
      Get synthetic link resource for this link type.
      Parameters:
      resourceResolver - Resource resolver
      path - 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.
      url - Link URL
      Returns:
      Synthetic link resource
    • toString

      public String toString()
      Overrides:
      toString in class Object