diff --git a/examples/bld/lib/bld/bld-wrapper.properties b/examples/bld/lib/bld/bld-wrapper.properties index 8c08ccc..b32aeb6 100644 --- a/examples/bld/lib/bld/bld-wrapper.properties +++ b/examples/bld/lib/bld/bld-wrapper.properties @@ -1,6 +1,6 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.8 +bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.7 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= bld.sourceDirectories= diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index 26274e0..522f399 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.extension.jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5 -bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.8 +bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.7 bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.4 bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.downloadLocation= diff --git a/pom.xml b/pom.xml index 58e85cc..26c12c8 100644 --- a/pom.xml +++ b/pom.xml @@ -18,19 +18,19 @@ org.jetbrains.kotlin kotlin-stdlib - 2.0.0 + 1.9.24 compile org.jetbrains.kotlin kotlin-stdlib-common - 2.0.0 + 1.9.24 compile org.jetbrains.kotlin kotlin-stdlib-jdk8 - 2.0.0 + 1.9.24 compile diff --git a/src/main/kotlin/net/thauvin/erik/pinboard/PinConfig.kt b/src/main/kotlin/net/thauvin/erik/pinboard/PinConfig.kt index 077b0a2..f1a1495 100644 --- a/src/main/kotlin/net/thauvin/erik/pinboard/PinConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/pinboard/PinConfig.kt @@ -37,17 +37,28 @@ import java.time.ZonedDateTime * Provides a builder to add a pin. * * Supports of all the [Pinboard API Parameters](https://pinboard.in/api/#posts_add). + * + * @param url The URL of the bookmark. + * @param description The title of the bookmark. */ -class PinConfig private constructor(builder: Builder) { - val url: String = builder.url - val description: String = builder.description - val extended = builder.extended - val tags = builder.tags - val dt = builder.dt - val replace = builder.replace - val shared = builder.shared - val toRead = builder.toRead - +class PinConfig @JvmOverloads constructor( + var url: String, + var description: String, + var extended: String = "", + var tags: Array = emptyArray(), + var dt: ZonedDateTime = ZonedDateTime.now(), + var replace: Boolean = true, + var shared: Boolean = true, + var toRead: Boolean = false +) { + constructor(builder: Builder) : this(builder.url, builder.description) { + extended = builder.extended + tags = builder.tags + dt = builder.dt + replace = builder.replace + shared = builder.shared + toRead = builder.toRead + } /** * Configures the parameters to add a pin. * @@ -65,45 +76,45 @@ class PinConfig private constructor(builder: Builder) { /** * The URL of the bookmark. */ - fun url(url: String): Builder = apply { this.url = url } + fun url(url: String) = apply { this.url = url } /** * The title of the bookmark. */ - fun description(description: String): Builder = apply { this.description = description } + fun description(description: String) = apply { this.description = description } /** * The description of the bookmark. */ - fun extended(extended: String): Builder = apply { this.extended = extended } + fun extended(extended: String) = apply { this.extended = extended } /** * A list of up to 100 tags. */ - fun tags(vararg tag: String): Builder = apply { this.tags = tag } + fun tags(vararg tag: String) = apply { this.tags = tag } /** * The creation time of the bookmark. */ - fun dt(datetime: ZonedDateTime): Builder = apply { this.dt = datetime } + fun dt(datetime: ZonedDateTime) = apply { this.dt = datetime } /** * Replace any existing bookmark with the specified URL. Default `true`. */ - fun replace(replace: Boolean): Builder = apply { this.replace = replace } + fun replace(replace: Boolean) = apply { this.replace = replace } /** * Make bookmark public. Default is `true`. */ - fun shared(shared: Boolean): Builder = apply { this.shared = shared } + fun shared(shared: Boolean) = apply { this.shared = shared } /** * Mark the bookmark as unread. Default is `false`. */ - fun toRead(toRead: Boolean): Builder = apply { this.toRead = toRead } + fun toRead(toRead: Boolean) = apply { this.toRead = toRead } /** - * Builds a new configuration. + * Builds a new comment configuration. */ fun build() = PinConfig(this)