diff --git a/.idea/misc.xml b/.idea/misc.xml
index f40d83c..8ae89ec 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,7 +8,10 @@
+
+
+
-
+
\ No newline at end of file
diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts
index 4e2218a..6484d0a 100644
--- a/examples/gradle/build.gradle.kts
+++ b/examples/gradle/build.gradle.kts
@@ -1,3 +1,5 @@
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.51.0"
diff --git a/examples/gradle/settings.gradle.kts b/examples/gradle/settings.gradle.kts
index cd3b92f..72e9113 100644
--- a/examples/gradle/settings.gradle.kts
+++ b/examples/gradle/settings.gradle.kts
@@ -7,4 +7,4 @@
* in the user manual at https://docs.gradle.org/6.2/userguide/multi_project_builds.html
*/
-rootProject.name = "bitly-examples-gradle"
+rootProject.name = "bitly-examples"
diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt
index 017e04f..c90519d 100644
--- a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt
+++ b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt
@@ -40,14 +40,23 @@ import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks
* See the [Bit.ly API](https://dev.bitly.com/api-reference#createFullBitlink) for more information.
*/
@Suppress("LocalVariableName", "PropertyName")
-class CreateConfig private constructor(builder: Builder) {
- val long_url = builder.long_url
- val domain = builder.domain
- val group_guid = builder.group_guid
- val title = builder.title
- val tags = builder.tags
- val deeplinks = builder.deeplinks
- val toJson = builder.toJson
+class CreateConfig @JvmOverloads constructor(
+ var long_url: String,
+ var domain: String = Constants.EMPTY,
+ var group_guid: String = Constants.EMPTY,
+ var title: String = Constants.EMPTY,
+ var tags: Array = emptyArray(),
+ var deeplinks: CreateDeeplinks = CreateDeeplinks(),
+ var toJson: Boolean = false
+) {
+ constructor(builder: Builder) : this(builder.long_url) {
+ domain = builder.domain
+ group_guid = builder.group_guid
+ title = builder.title
+ tags = builder.tags
+ deeplinks = builder.deeplinks
+ toJson = builder.toJson
+ }
/**
* Configures the creation parameters of a Bitlink.
diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt
index e837c49..3985d71 100644
--- a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt
+++ b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt
@@ -39,13 +39,21 @@ import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks
*
* See the [Bit.ly API](https://dev.bitly.com/api-reference#updateBitlink) for more information.
*/
-class UpdateConfig private constructor(builder: Builder) {
- val bitlink = builder.bitlink
- val title = builder.title
- val archived = builder.archived
- val tags = builder.tags
- val deeplinks = builder.deeplinks
- val toJson = builder.toJson
+class UpdateConfig @JvmOverloads constructor(
+ var bitlink: String,
+ var title: String = Constants.EMPTY,
+ var archived: Boolean = false,
+ var tags: Array = emptyArray(),
+ var deeplinks: UpdateDeeplinks = UpdateDeeplinks(),
+ var toJson: Boolean = false
+) {
+ constructor(builder: Builder) : this(builder.bitlink) {
+ title = builder.title
+ archived = builder.archived
+ tags = builder.tags
+ deeplinks = builder.deeplinks
+ toJson = builder.toJson
+ }
/**
* Configures the update parameters of a Bitlink.
diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt
index 937bb69..2d8c4d2 100644
--- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt
@@ -41,9 +41,9 @@ import net.thauvin.erik.bitly.Utils.toEndPoint
import net.thauvin.erik.bitly.config.CreateConfig
import net.thauvin.erik.bitly.config.UpdateConfig
import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks
-import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks
import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType
import net.thauvin.erik.bitly.config.deeplinks.enums.Os
+import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks
import org.json.JSONObject
import org.junit.jupiter.api.BeforeAll
import java.io.File
diff --git a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt
index 57a7ae3..dad8a8c 100644
--- a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt
+++ b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt
@@ -34,9 +34,9 @@ package net.thauvin.erik.bitly.config
import assertk.assertThat
import assertk.assertions.isEqualTo
import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks
-import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks
import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType
import net.thauvin.erik.bitly.config.deeplinks.enums.Os
+import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks
import org.json.JSONObject
import kotlin.test.Test
@@ -48,13 +48,14 @@ class ConfigTest {
install_type(InstallType.AUTO_INSTALL)
}
- val config = CreateConfig.Builder("long_url")
- .domain("domain")
- .groupGuid("group_guid")
- .title("title")
- .tags(arrayOf("tag", "tag2"))
- .deeplinks(deeplinks)
- .build()
+ val config = CreateConfig(
+ "long_url",
+ "domain",
+ "group_guid",
+ "title",
+ arrayOf("tag", "tag2"),
+ deeplinks,
+ )
val map = mapOf(
"long_url" to config.long_url,
@@ -80,13 +81,13 @@ class ConfigTest {
app_guid("app_guid")
}
- val config = UpdateConfig.Builder("blink")
- .title("title")
- .archived(true)
- .tags(arrayOf("tag", "tag2"))
- .deeplinks(deeplinks)
- .build()
-
+ val config = UpdateConfig(
+ "blink",
+ "title",
+ true,
+ arrayOf("tag", "tag2"),
+ deeplinks
+ )
val map = mapOf(
"bitlink" to config.bitlink,
"title" to config.title,