Builder

class Builder : GeneratedMessage.Builder<BuilderT> , ContextOrBuilder
Defines the notion of a *Render Context* for server-side pages in Gust. This protocol message is filled out with data
as configured by the developer (from `application.yml` and the active controller, as applicable) and provided as an
injected value to all server-side render operations.

When preparing context in Gust, adding a static script or stylesheet is done through `Context`. Setting page metadata
like the title, keywords, and manifest - also all done through `Context`. This of course has the added benefit of
being completely serializable, repeatable, and so on (i.e. all the benefits Protobuf brings).

Major context modules include:
- *Metadata*: Page-level metadata.
- *OpenGraph*: Properties for OG tags.
- *Twitter*: Properties for Twitter cards.
- *AppManifest*: Information to link or derive a web application manifest.
- *Styles*: Stylesheets and inline head-injected styles ("lifted styles").
- *Scripts*: Scripts to include, and inline head-injected logic ("lifted JS").
Protobuf type elide.page.Context

Properties

Link copied to clipboard
val ContextOrBuilder.cdnPrefixOrNull: TrustedResourceUrlProto?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
open fun addCookie(index: Int, value: Context.Cookie): Context.Builder
open fun addCookie(index: Int, builderForValue: Context.Cookie.Builder): Context.Builder
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
open fun addDnsPrefetchBytes(value: ByteString): Context.Builder
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun addFeaturePolicyBytes(value: ByteString): Context.Builder
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun addHeader(index: Int, builderForValue: Context.ResponseHeader.Builder): Context.Builder
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
open fun addPreconnectBytes(value: ByteString): Context.Builder
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
open fun addRepeatedField(field: Descriptors.FieldDescriptor, value: Any): BuilderT
abstract fun addRepeatedField(field: Descriptors.FieldDescriptor, value: Any): Message.Builder
Link copied to clipboard
open fun addVary(value: String): Context.Builder
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
open fun addVaryBytes(value: ByteString): Context.Builder
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
abstract fun build(): MessageLite
open fun build(): Context
Link copied to clipboard
abstract fun buildPartial(): MessageLite
open fun buildPartial(): Context
Link copied to clipboard
open fun clear(): BuilderType
abstract fun clear(): Message.Builder
Link copied to clipboard
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
Specifies that the `nosniff` flag should be included in a `X-Content-Type-Options` header.
bool content_type_nosniff = 16;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun clearField(field: Descriptors.FieldDescriptor): BuilderT
abstract fun clearField(field: Descriptors.FieldDescriptor): Message.Builder
Link copied to clipboard
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
Specifies options when a page is referenced as a frame.
.elide.page.Context.FramingPolicy framing_policy = 15;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
Language to send in the `Content-Language` header.
string language = 11;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
open fun clearOneof(oneof: Descriptors.OneofDescriptor): BuilderType
open fun clearOneof(oneof: Descriptors.OneofDescriptor): BuilderT
abstract fun clearOneof(oneof: Descriptors.OneofDescriptor): Message.Builder
Link copied to clipboard
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
Specifies the `Referrer-Policy` to apply to this HTTP cycle, as applicable.
.elide.page.Context.ReferrerPolicy referrer_policy = 21;
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
Old-style Cross-Site Scripting vulnerability protection policy.
string xss_protection = 20;
Link copied to clipboard
open fun clone(): BuilderType
open fun clone(): BuilderT
abstract fun clone(): Message.Builder
Link copied to clipboard
Link copied to clipboard
open fun getAllFields(): Map<Descriptors.FieldDescriptor, Any>
Link copied to clipboard
open fun getCdnPrefix(): TrustedResourceUrlProto
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
open fun getCdnPrefixBuilder(): TrustedResourceUrlProto.Builder
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
open fun getCdnPrefixOrBuilder(): TrustedResourceUrlProtoOrBuilder
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
Specifies that the `nosniff` flag should be included in a `X-Content-Type-Options` header.
bool content_type_nosniff = 16;
Link copied to clipboard
open fun getCookie(index: Int): Context.Cookie
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
open fun getCookieCount(): Int
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
abstract fun getDefaultInstanceForType(): MessageLite
Link copied to clipboard
fun getDescriptor(): Descriptors.Descriptor
Link copied to clipboard
open fun getDescriptorForType(): Descriptors.Descriptor
Link copied to clipboard
open fun getDnsPrefetch(index: Int): String
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
open fun getDnsPrefetchBytes(index: Int): ByteString
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
open fun getDnsPrefetchList(): ProtocolStringList
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
open fun getFeaturePolicy(index: Int): String
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun getFeaturePolicyBytes(index: Int): ByteString
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun getFeaturePolicyList(): ProtocolStringList
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun getField(field: Descriptors.FieldDescriptor): Any
Link copied to clipboard
open fun getFieldBuilder(field: Descriptors.FieldDescriptor): Message.Builder
Link copied to clipboard
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
Specifies options when a page is referenced as a frame.
.elide.page.Context.FramingPolicy framing_policy = 15;
Link copied to clipboard
Specifies options when a page is referenced as a frame.
.elide.page.Context.FramingPolicy framing_policy = 15;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
open fun getHeaderCount(): Int
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
open fun getLanguage(): String
Language to send in the `Content-Language` header.
string language = 11;
Link copied to clipboard
open fun getLanguageBytes(): ByteString
Language to send in the `Content-Language` header.
string language = 11;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
open fun getOneofFieldDescriptor(oneof: Descriptors.OneofDescriptor): Descriptors.FieldDescriptor
Link copied to clipboard
open fun getPreconnect(index: Int): String
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
open fun getPreconnectBytes(index: Int): ByteString
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
open fun getPreconnectList(): ProtocolStringList
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
Specifies the `Referrer-Policy` to apply to this HTTP cycle, as applicable.
.elide.page.Context.ReferrerPolicy referrer_policy = 21;
Link copied to clipboard
Specifies the `Referrer-Policy` to apply to this HTTP cycle, as applicable.
.elide.page.Context.ReferrerPolicy referrer_policy = 21;
Link copied to clipboard
open fun getRepeatedField(field: Descriptors.FieldDescriptor, index: Int): Any
Link copied to clipboard
open fun getRepeatedFieldBuilder(field: Descriptors.FieldDescriptor, index: Int): Message.Builder
Link copied to clipboard
open fun getRepeatedFieldCount(field: Descriptors.FieldDescriptor): Int
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
fun getUnknownFields(): UnknownFieldSet
Link copied to clipboard
open fun getVary(index: Int): String
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
open fun getVaryBytes(index: Int): ByteString
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
open fun getVaryCount(): Int
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
open fun getVaryList(): ProtocolStringList
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
Old-style Cross-Site Scripting vulnerability protection policy.
string xss_protection = 20;
Link copied to clipboard
open fun getXssProtectionBytes(): ByteString
Old-style Cross-Site Scripting vulnerability protection policy.
string xss_protection = 20;
Link copied to clipboard
open fun hasCdnPrefix(): Boolean
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
open fun hasEtag(): Boolean
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
open fun hasField(field: Descriptors.FieldDescriptor): Boolean
Link copied to clipboard
open fun hasFonts(): Boolean
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
open fun hasHints(): Boolean
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
open fun hasManifest(): Boolean
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
open fun hasMeta(): Boolean
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
open fun hasOneof(oneof: Descriptors.OneofDescriptor): Boolean
Link copied to clipboard
open fun hasScripts(): Boolean
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
open fun hasStyles(): Boolean
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
Link copied to clipboard
open fun mergeCdnPrefix(value: TrustedResourceUrlProto): Context.Builder
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
open fun mergeDelimitedFrom(input: InputStream, extensionRegistry: ExtensionRegistryLite): Boolean
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
abstract fun mergeFrom(other: Message): Message.Builder
open fun mergeFrom(other: Message): Context.Builder
open fun mergeFrom(input: CodedInputStream, extensionRegistry: ExtensionRegistryLite): Context.Builder
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
open fun mergeUnknownFields(unknownFields: UnknownFieldSet): BuilderType
open fun mergeUnknownFields(unknownFields: UnknownFieldSet): BuilderT
abstract fun mergeUnknownFields(unknownFields: UnknownFieldSet): Message.Builder
Link copied to clipboard
open fun newBuilderForField(field: Descriptors.FieldDescriptor): Message.Builder
Link copied to clipboard
open fun removeCookie(index: Int): Context.Builder
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
open fun removeHeader(index: Int): Context.Builder
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
open fun setCdnPrefix(value: TrustedResourceUrlProto): Context.Builder
open fun setCdnPrefix(builderForValue: TrustedResourceUrlProto.Builder): Context.Builder
Specifies the selected CDN prefix to use.
.webutil.html.types.TrustedResourceUrlProto cdn_prefix = 17;
Link copied to clipboard
Specifies that the `nosniff` flag should be included in a `X-Content-Type-Options` header.
bool content_type_nosniff = 16;
Link copied to clipboard
open fun setCookie(index: Int, value: Context.Cookie): Context.Builder
open fun setCookie(index: Int, builderForValue: Context.Cookie.Builder): Context.Builder
Specifies HTTP cookies to affix to the response associated with this context.
repeated .elide.page.Context.Cookie cookie = 8;
Link copied to clipboard
open fun setDnsPrefetch(index: Int, value: String): Context.Builder
Specifies hostnames to pre-load DNS records for.
repeated string dns_prefetch = 18;
Link copied to clipboard
`ETag` information to enclose with this page, when rendered.
.elide.page.Context.DynamicETag etag = 6;
Link copied to clipboard
open fun setFeaturePolicy(index: Int, value: String): Context.Builder
Specifies feature policies for this HTTP cycle.
repeated string feature_policy = 13;
Link copied to clipboard
open fun setField(field: Descriptors.FieldDescriptor, value: Any): BuilderT
abstract fun setField(field: Descriptors.FieldDescriptor, value: Any): Message.Builder
Link copied to clipboard
open fun setFonts(builderForValue: Context.Fonts.Builder): Context.Builder
Fonts to include/load on the page.
.elide.page.Context.Fonts fonts = 3;
Link copied to clipboard
Specifies options when a page is referenced as a frame.
.elide.page.Context.FramingPolicy framing_policy = 15;
Link copied to clipboard
Specifies options when a page is referenced as a frame.
.elide.page.Context.FramingPolicy framing_policy = 15;
Link copied to clipboard
open fun setHeader(index: Int, builderForValue: Context.ResponseHeader.Builder): Context.Builder
Custom headers to affix to the response associated with this context.
repeated .elide.page.Context.ResponseHeader header = 9;
Link copied to clipboard
Information provided by client-indicated hints.
.elide.page.Context.ClientHints hints = 12;
Link copied to clipboard
Language to send in the `Content-Language` header.
string language = 11;
Link copied to clipboard
open fun setLanguageBytes(value: ByteString): Context.Builder
Language to send in the `Content-Language` header.
string language = 11;
Link copied to clipboard
Application manifest for a given page or web app.
.elide.page.Context.AppManifest manifest = 5;
Link copied to clipboard
Metadata definitions for this web page render context.
.elide.page.Context.Metadata meta = 1;
Link copied to clipboard
open fun setPreconnect(index: Int, value: String): Context.Builder
Specifies hostnames to pre-connect to.
repeated string preconnect = 19;
Link copied to clipboard
Specifies the `Referrer-Policy` to apply to this HTTP cycle, as applicable.
.elide.page.Context.ReferrerPolicy referrer_policy = 21;
Link copied to clipboard
Specifies the `Referrer-Policy` to apply to this HTTP cycle, as applicable.
.elide.page.Context.ReferrerPolicy referrer_policy = 21;
Link copied to clipboard
open fun setRepeatedField(field: Descriptors.FieldDescriptor, index: Int, value: Any): BuilderT
abstract fun setRepeatedField(field: Descriptors.FieldDescriptor, index: Int, value: Any): Message.Builder
Link copied to clipboard
Scripts to include on the page or lift into the head.
.elide.page.Context.Scripts scripts = 4;
Link copied to clipboard
CSS definitions and lifted code for the page head.
.elide.page.Context.Styles styles = 2;
Link copied to clipboard
open fun setUnknownFields(unknownFields: UnknownFieldSet): BuilderT
abstract fun setUnknownFields(unknownFields: UnknownFieldSet): Message.Builder
Link copied to clipboard
open fun setVary(index: Int, value: String): Context.Builder
Set of HTTP request headers which cause this response to vary.
repeated string vary = 10;
Link copied to clipboard
Old-style Cross-Site Scripting vulnerability protection policy.
string xss_protection = 20;
Link copied to clipboard
open fun setXssProtectionBytes(value: ByteString): Context.Builder
Old-style Cross-Site Scripting vulnerability protection policy.
string xss_protection = 20;
Link copied to clipboard
open fun toString(): String