Interface LinkBuilder


@ProviderType public interface LinkBuilder
Define link handling request using builder pattern.
  • Method Details

    • args

      @NotNull @NotNull LinkBuilder args(@NotNull @NotNull LinkArgs linkArgs)
      Set link arguments
      Parameters:
      linkArgs - Link arguments
      Returns:
      Link builder
    • selectors

      @NotNull @NotNull LinkBuilder selectors(@Nullable @Nullable String selectors)
      Set selectors
      Parameters:
      selectors - Selector string
      Returns:
      Link builder
    • extension

      @NotNull @NotNull LinkBuilder extension(@Nullable @Nullable String extension)
      Set file extension
      Parameters:
      extension - File extension
      Returns:
      Link builder
    • suffix

      @NotNull @NotNull LinkBuilder suffix(@Nullable @Nullable String suffix)
      Set suffix
      Parameters:
      suffix - Suffix string
      Returns:
      Link builder
    • queryString

      @NotNull @NotNull LinkBuilder queryString(@Nullable @Nullable String queryString)
      Set query parameters string
      Parameters:
      queryString - Query parameters string (properly url-encoded)
      Returns:
      Link builder
    • fragment

      @NotNull @NotNull LinkBuilder fragment(@Nullable @Nullable String fragment)
      Set fragment identifier
      Parameters:
      fragment - Fragment identifier
      Returns:
      Link builder
    • windowTarget

      @NotNull @NotNull LinkBuilder windowTarget(@Nullable @Nullable String windowTarget)
      Set link window target
      Parameters:
      windowTarget - link window target
      Returns:
      Link builder
    • disableSuffixSelector

      @NotNull @NotNull LinkBuilder disableSuffixSelector(boolean disableSuffixSelector)
      Disable the automatic addition of an additional selector UrlHandler.SELECTOR_SUFFIX in case a suffix is present for building the URL. Although recommended as best practice, this can be omitted if you are sure your URLs are always either include a suffix or never do, so there is no risk for file name clashes in dispatcher cache.
      Parameters:
      disableSuffixSelector - If set to true, no additional suffix selector is added
      Returns:
      URL builder
    • urlMode

      @NotNull @NotNull LinkBuilder urlMode(@Nullable @Nullable io.wcm.handler.url.UrlMode urlMode)
      Set URL mode for externalizing the URL
      Parameters:
      urlMode - URL mode. If null, default URL mode is used.
      Returns:
      Link builder
    • vanityMode

      @NotNull @NotNull LinkBuilder vanityMode(@Nullable @Nullable io.wcm.handler.url.VanityMode vanityMode)
      Set Vanity mode for building the URL
      Parameters:
      vanityMode - Vanity mode. If null, default Vanity mode is used.
      Returns:
      Link builder
    • dummyLink

      @NotNull @NotNull LinkBuilder dummyLink(boolean value)
      Set dummy link mode.
      Parameters:
      value - If set to true, link handler returns a dummy link in edit mode when link is invalid.
      Returns:
      this
    • dummyLinkUrl

      @NotNull @NotNull LinkBuilder dummyLinkUrl(@Nullable @Nullable String value)
      Set dummy link URL.
      Parameters:
      value - Custom dummy link url. If null default dummy url is used.
      Returns:
      this
    • linkTargetUrlFallbackProperty

      @NotNull @NotNull LinkBuilder linkTargetUrlFallbackProperty(@NotNull @NotNull String @Nullable ... propertyNames)
      Defines a "fallback" property name that is used to load link target information from a single property instead of the link type + link type depending property name. This property is used for migration from components that do not support Link Handler. It is only used for reading, and never written back to. When opened and saved in the link dialog, the property is removed and instead the dedicated properties are used.
      Parameters:
      propertyNames - Property name(s)
      Returns:
      this
    • property

      @NotNull @NotNull LinkBuilder property(@NotNull @NotNull String key, @Nullable @Nullable Object value)
      Adds a custom property that my be used by application-specific processors.
      Parameters:
      key - Property key
      value - Property value
      Returns:
      this
    • build

      @NotNull @NotNull Link build()
      Resolve link and return metadata object that contains the results.
      Returns:
      Link metadata object. Never null, if the resolving failed the isValid() method returns false.
    • buildMarkup

      @Nullable @Nullable String buildMarkup()
      Resolve link and return directly the markup generated by the link markup builder.
      Returns:
      Link markup (only the opening anchor tag) or null if resolving was not successful.
    • buildAnchor

      @Nullable @Nullable io.wcm.handler.commons.dom.Anchor buildAnchor()
      Resolve link and return directly the markup as DOM element generated by the link markup builder.
      Returns:
      Link markup or null if resolving was not successful.
    • buildUrl

      @Nullable @Nullable String buildUrl()
      Resolve link and get URL.
      Returns:
      Link URL or null if resolving was not successful.