Interface LinkBuilder


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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @NotNull LinkBuilder args​(@NotNull LinkArgs linkArgs)
      Set link arguments
      @NotNull Link build()
      Resolve link and return metadata object that contains the results.
      @Nullable io.wcm.handler.commons.dom.Anchor buildAnchor()
      Resolve link and return directly the markup as DOM element generated by the link markup builder.
      @Nullable java.lang.String buildMarkup()
      Resolve link and return directly the markup generated by the link markup builder.
      @Nullable java.lang.String buildUrl()
      Resolve link and get URL.
      @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.
      @NotNull LinkBuilder dummyLink​(boolean value)  
      @NotNull LinkBuilder dummyLinkUrl​(@Nullable java.lang.String value)  
      @NotNull LinkBuilder extension​(@Nullable java.lang.String extension)
      Set file extension
      @NotNull LinkBuilder fragment​(@Nullable java.lang.String fragment)
      Set fragment identifier
      @NotNull LinkBuilder linkTargetUrlFallbackProperty​(@NotNull java.lang.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.
      @NotNull LinkBuilder property​(@NotNull java.lang.String key, @Nullable java.lang.Object value)
      Adds a custom property that my be used by application-specific processors.
      @NotNull LinkBuilder queryString​(@Nullable java.lang.String queryString)
      Set query parameters string
      @NotNull LinkBuilder selectors​(@Nullable java.lang.String selectors)
      Set selectors
      @NotNull LinkBuilder suffix​(@Nullable java.lang.String suffix)
      Set suffix
      @NotNull LinkBuilder urlMode​(@Nullable io.wcm.handler.url.UrlMode urlMode)
      Set URL mode for externalizing the URL
      @NotNull LinkBuilder vanityMode​(@Nullable io.wcm.handler.url.VanityMode vanityMode)
      Set Vanity mode for building the URL
      @NotNull LinkBuilder windowTarget​(@Nullable java.lang.String windowTarget)
      Set link window target
    • Method Detail

      • 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 java.lang.String selectors)
        Set selectors
        Parameters:
        selectors - Selector string
        Returns:
        Link builder
      • extension

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

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

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

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

        @NotNull
        @NotNull LinkBuilder windowTarget​(@Nullable
                                          @Nullable java.lang.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)
        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 java.lang.String value)
        Parameters:
        value - Custom dummy link url. If null default dummy url is used.
        Returns:
        this
      • linkTargetUrlFallbackProperty

        @NotNull
        @NotNull LinkBuilder linkTargetUrlFallbackProperty​(@NotNull
                                                           @NotNull java.lang.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 java.lang.String key,
                                      @Nullable
                                      @Nullable java.lang.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 java.lang.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 java.lang.String buildUrl()
        Resolve link and get URL.
        Returns:
        Link URL or null if resolving was not successful.