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)