Class LinkArgs

java.lang.Object
io.wcm.handler.link.LinkArgs
All Implemented Interfaces:
Cloneable

@ProviderType public final class LinkArgs extends Object implements Cloneable
Holds parameters to influence the link resolving process.
  • Constructor Details

    • LinkArgs

      public LinkArgs()
  • Method Details

    • getUrlMode

      @Nullable public @Nullable io.wcm.handler.url.UrlMode getUrlMode()
      Get URL mode.
      Returns:
      URL mode for externalizing the URL
    • getVanityMode

      @Nullable public @Nullable io.wcm.handler.url.VanityMode getVanityMode()
      Get vanity mode.
      Returns:
      Vanity mode for building the URL
    • urlMode

      @NotNull public @NotNull LinkArgs urlMode(@Nullable @Nullable io.wcm.handler.url.UrlMode value)
      Set URL mode.
      Parameters:
      value - URL mode for externalizing the URL
      Returns:
      this
    • vanityMode

      @NotNull public @NotNull LinkArgs vanityMode(@Nullable @Nullable io.wcm.handler.url.VanityMode value)
      Set vanity mode.
      Parameters:
      value - Vanity mode for building the URL
      Returns:
      this
    • isDummyLink

      public boolean isDummyLink()
      Check if dummy link mode is enabled.
      Returns:
      If set to true, link handler returns a dummy link in edit mode when link is invalid.
    • dummyLink

      @NotNull public @NotNull LinkArgs 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
    • getDummyLinkUrl

      @Nullable public @Nullable String getDummyLinkUrl()
      Get dummy link URL.
      Returns:
      Custom dummy link url. If null default dummy url is used.
    • dummyLinkUrl

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

      @Nullable public @Nullable String getSelectors()
      Get selectors.
      Returns:
      Selector string
    • selectors

      @NotNull public @NotNull LinkArgs selectors(@Nullable @Nullable String value)
      Set selectors.
      Parameters:
      value - Selector string
      Returns:
      this
    • getExtension

      @Nullable public @Nullable String getExtension()
      Get extension.
      Returns:
      File extension
    • extension

      @NotNull public @NotNull LinkArgs extension(@Nullable @Nullable String value)
      Set extension.
      Parameters:
      value - File extension
      Returns:
      this
    • getSuffix

      @Nullable public @Nullable String getSuffix()
      Get suffix.
      Returns:
      Suffix string
    • suffix

      @NotNull public @NotNull LinkArgs suffix(@Nullable @Nullable String value)
      Set suffix.
      Parameters:
      value - Suffix string
      Returns:
      this
    • getQueryString

      @Nullable public @Nullable String getQueryString()
      Get query string.
      Returns:
      Query parameters string (properly url-encoded)
    • queryString

      @NotNull public @NotNull LinkArgs queryString(@Nullable @Nullable String value)
      Set query string.
      Parameters:
      value - Query parameters string (properly url-encoded)
      Returns:
      this
    • getFragment

      @Nullable public @Nullable String getFragment()
      Get fragment.
      Returns:
      Fragment identifier
    • fragment

      @NotNull public @NotNull LinkArgs fragment(@Nullable @Nullable String value)
      Set fragment.
      Parameters:
      value - Fragment identifier
      Returns:
      this
    • getWindowTarget

      @Nullable public @Nullable String getWindowTarget()
      Get window target.
      Returns:
      Link window target
    • windowTarget

      @NotNull public @NotNull LinkArgs windowTarget(@Nullable @Nullable String value)
      Set window target.
      Parameters:
      value - Link window target
      Returns:
      this
    • isDisableSuffixSelector

      public boolean isDisableSuffixSelector()
      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.
      Returns:
      If set to true, no additional suffix selector is added
    • disableSuffixSelector

      @NotNull public @NotNull LinkArgs disableSuffixSelector(boolean value)
      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:
      value - If set to true, no additional suffix selector is added
      Returns:
      this
    • properties

      @NotNull public @NotNull LinkArgs properties(@NotNull @NotNull Map<String,Object> map)
      Custom properties that my be used by application-specific markup builders or processors.
      Parameters:
      map - Property map. Is merged with properties already set.
      Returns:
      this
    • property

      @NotNull public @NotNull LinkArgs property(@NotNull @NotNull String key, @Nullable @Nullable Object value)
      Custom properties that my be used by application-specific markup builders or processors.
      Parameters:
      key - Property key
      value - Property value
      Returns:
      this
    • getProperties

      @NotNull public @NotNull org.apache.sling.api.resource.ValueMap getProperties()
      Custom properties that my be used by application-specific markup builders or processors.
      Returns:
      Value map
    • linkTargetUrlFallbackProperty

      @NotNull public @NotNull LinkArgs 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
    • getLinkTargetUrlFallbackProperty

      @Nullable public @Nullable String[] getLinkTargetUrlFallbackProperty()
      Get link target URL fallback property.
      Returns:
      Property name(s)
    • linkTargetWindowTargetFallbackProperty

      @NotNull public @NotNull LinkArgs linkTargetWindowTargetFallbackProperty(@NotNull @NotNull String @Nullable ... propertyNames)
      Defines a "fallback" property name that is used to load the "windows target" information from instead of the the default property. 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
    • getLinkTargetWindowTargetFallbackProperty

      @Nullable public @Nullable String[] getLinkTargetWindowTargetFallbackProperty()
      Get link target window target fallback property.
      Returns:
      Property name(s)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public LinkArgs clone()
      Custom clone-method for LinkArgs
      Overrides:
      clone in class Object
      Returns:
      the cloned LinkArgs