Package io.wcm.handler.link
Interface LinkBuilder
@ProviderType
public interface LinkBuilder
Define link handling request using builder pattern.
-
Method Summary
Modifier and TypeMethodDescription@NotNull LinkBuilderSet link arguments@NotNull Linkbuild()Resolve link and return metadata object that contains the results.@Nullable io.wcm.handler.commons.dom.AnchorResolve link and return directly the markup as DOM element generated by the link markup builder.@Nullable StringResolve link and return directly the markup generated by the link markup builder.@Nullable StringbuildUrl()Resolve link and get URL.@NotNull LinkBuilderdisableSuffixSelector(boolean disableSuffixSelector) Disable the automatic addition of an additional selectorUrlHandler.SELECTOR_SUFFIXin case a suffix is present for building the URL.@NotNull LinkBuilderdummyLink(boolean value) Set dummy link mode.@NotNull LinkBuilderdummyLinkUrl(@Nullable String value) Set dummy link URL.@NotNull LinkBuilderSet file extension@NotNull LinkBuilderSet fragment identifier@NotNull LinkBuilderlinkTargetUrlFallbackProperty(@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.@NotNull LinkBuilderAdds a custom property that my be used by application-specific processors.@NotNull LinkBuilderqueryString(@Nullable String queryString) Set query parameters string@NotNull LinkBuilderSet selectors@NotNull LinkBuilderSet suffix@NotNull LinkBuilderurlMode(@Nullable io.wcm.handler.url.UrlMode urlMode) Set URL mode for externalizing the URL@NotNull LinkBuildervanityMode(@Nullable io.wcm.handler.url.VanityMode vanityMode) Set Vanity mode for building the URL@NotNull LinkBuilderwindowTarget(@Nullable String windowTarget) Set link window target
-
Method Details
-
args
Set link arguments- Parameters:
linkArgs- Link arguments- Returns:
- Link builder
-
selectors
Set selectors- Parameters:
selectors- Selector string- Returns:
- Link builder
-
extension
Set file extension- Parameters:
extension- File extension- Returns:
- Link builder
-
suffix
Set suffix- Parameters:
suffix- Suffix string- Returns:
- Link builder
-
queryString
Set query parameters string- Parameters:
queryString- Query parameters string (properly url-encoded)- Returns:
- Link builder
-
fragment
Set fragment identifier- Parameters:
fragment- Fragment identifier- Returns:
- Link builder
-
windowTarget
Set link window target- Parameters:
windowTarget- link window target- Returns:
- Link builder
-
disableSuffixSelector
Disable the automatic addition of an additional selectorUrlHandler.SELECTOR_SUFFIXin 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
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
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
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 keyvalue- Property value- Returns:
- this
-
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
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
Resolve link and get URL.- Returns:
- Link URL or null if resolving was not successful.
-