Skip to content

Commit 540f339

Browse files
Add annotations for jvm
1 parent dacb24e commit 540f339

File tree

10 files changed

+52
-26
lines changed

10 files changed

+52
-26
lines changed

lib/src/main/kotlin/io/bloco/faker/Faker.kt

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,27 @@ import java.io.IOException
2828
import java.io.InputStream
2929

3030
class Faker(val locale: String = DEFAULT_LOCALE) {
31-
val address: Address
32-
val app: App
33-
val avatar: Avatar
34-
val book: Book
35-
val bool: Bool
36-
val business: Business
37-
val color: Color
38-
val commerce: Commerce
39-
val company: Company
40-
val date: Date
41-
val food: Food
42-
val internet: Internet
43-
val lorem: Lorem
44-
val name: Name
45-
val number: Number
46-
val placeholdit: Placeholdit
47-
val phoneNumber: PhoneNumber
48-
val slackEmoji: SlackEmoji
49-
val team: Team
50-
val time: Time
51-
val university: University
31+
@JvmField val address: Address
32+
@JvmField val app: App
33+
@JvmField val avatar: Avatar
34+
@JvmField val book: Book
35+
@JvmField val bool: Bool
36+
@JvmField val business: Business
37+
@JvmField val color: Color
38+
@JvmField val commerce: Commerce
39+
@JvmField val company: Company
40+
@JvmField val date: Date
41+
@JvmField val food: Food
42+
@JvmField val internet: Internet
43+
@JvmField val lorem: Lorem
44+
@JvmField val name: Name
45+
@JvmField val number: Number
46+
@JvmField val placeholdit: Placeholdit
47+
@JvmField val phoneNumber: PhoneNumber
48+
@JvmField val slackEmoji: SlackEmoji
49+
@JvmField val team: Team
50+
@JvmField val time: Time
51+
@JvmField val university: University
5252
private val data: FakerData
5353

5454
init {

lib/src/main/kotlin/io/bloco/faker/components/Avatar.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import io.bloco.faker.FakerComponent
44
import io.bloco.faker.FakerData
55

66
class Avatar(data: FakerData) : FakerComponent(data) {
7+
@JvmOverloads
78
fun image(
89
slug: String? = "image",
910
size: String = "300x300",

lib/src/main/kotlin/io/bloco/faker/components/Bool.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import io.bloco.faker.FakerComponent
44
import io.bloco.faker.FakerData
55

66
class Bool(data: FakerData) : FakerComponent(data) {
7+
@JvmOverloads
78
fun bool(trueRatio: Float = 0.5f): Boolean {
89
return Math.random() < trueRatio
910
}

lib/src/main/kotlin/io/bloco/faker/components/Commerce.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ class Commerce(data: FakerData) : FakerComponent(data) {
1010
return call("color.colorName")
1111
}
1212

13+
@JvmOverloads
1314
fun department(max: Int = 3, fixedAmount: Boolean = false): String {
1415
val num = if (fixedAmount) max else randomHelper.number(max) + 1
1516
val categories = getCategories(num)
1617
return if (num > 1) mergeCategories(categories) else categories.first()
1718
}
1819

19-
2020
fun productName(): String {
2121
return listOf(
2222
fetch("commerce.product_name.adjective"),
@@ -25,15 +25,16 @@ class Commerce(data: FakerData) : FakerComponent(data) {
2525
).joinToString(" ")
2626
}
2727

28-
2928
fun material(): String {
3029
return fetch("commerce.product_name.material")
3130
}
3231

32+
@JvmOverloads
3333
fun price(min: Int = 0, max: Int = 100): BigDecimal {
3434
return BigDecimal(randomHelper.range(min, max)).setScale(2, RoundingMode.HALF_UP)
3535
}
3636

37+
@JvmOverloads
3738
fun promotionCode(digits: Int = 6): String {
3839
return listOf(
3940
fetch("commerce.promotion_code.adjective"),

lib/src/main/kotlin/io/bloco/faker/components/Date.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import java.util.Date
1212
import kotlin.random.Random
1313

1414
class Date(fakerData: FakerData) : FakerComponent(fakerData) {
15-
private var formatter: SimpleDateFormat = SimpleDateFormat("yyyy-MM-dd")
15+
private val formatter = SimpleDateFormat("yyyy-MM-dd")
1616

1717
fun between(from: String, to: String): Date {
1818
return try {
@@ -28,14 +28,17 @@ class Date(fakerData: FakerData) : FakerComponent(fakerData) {
2828
return between(from.toLocalDate(), to.toLocalDate())
2929
}
3030

31+
@JvmOverloads
3132
fun forward(numberOfDays: Int = DEFAULT_NUM_OF_DAYS): Date {
3233
return between(today(), today().plusDays(numberOfDays.toLong()))
3334
}
3435

36+
@JvmOverloads
3537
fun backward(numberOfDays: Int = DEFAULT_NUM_OF_DAYS): Date {
3638
return between(today().minusDays(numberOfDays.toLong()), today())
3739
}
3840

41+
@JvmOverloads
3942
fun birthday(minAge: Int = DEFAULT_MIN_AGE, maxAge: Int = DEFAULT_MAX_AGE): Date {
4043
return between(today().plusYears(minAge.toLong()), today().plusYears(maxAge.toLong()))
4144
}

lib/src/main/kotlin/io/bloco/faker/components/Internet.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,23 @@ import io.bloco.faker.FakerComponent
44
import io.bloco.faker.FakerData
55

66
class Internet(data: FakerData) : FakerComponent(data) {
7+
8+
@JvmOverloads
79
fun email(name: String? = null): String {
810
return userName(name) + "@" + domainName()
911
}
1012

13+
@JvmOverloads
1114
fun freeEmail(name: String? = null): String {
1215
return userName(name) + "@" + fetch("internet.free_email")
1316
}
1417

18+
@JvmOverloads
1519
fun safeEmail(name: String? = null): String {
1620
return userName(name) + "@" + SAFE_EMAIL_HOST + randomHelper.sample(SAFE_EMAIL_TLDS)
1721
}
1822

23+
@JvmOverloads
1924
fun userName(specifier: String? = null, separators: List<String> = DEFAULT_SEPARATORS): String {
2025
val separator = randomHelper.sample(separators)
2126
return when {
@@ -34,6 +39,7 @@ class Internet(data: FakerData) : FakerComponent(data) {
3439
}
3540
}
3641

42+
@JvmOverloads
3743
fun password(
3844
minLength: Int = PASSWORD_MIN_LENGTH,
3945
maxLength: Int = PASSWORD_MAX_LENGTH,
@@ -105,6 +111,7 @@ class Internet(data: FakerData) : FakerComponent(data) {
105111
return "http://$host$path"
106112
}
107113

114+
@JvmOverloads
108115
fun slug(
109116
words: List<String> = listOf(fetch("lorem.words"), fetch("lorem.words")),
110117
glue: String = randomHelper.sample(DEFAULT_SLUG_GLUE)

lib/src/main/kotlin/io/bloco/faker/components/Lorem.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class Lorem(data: FakerData?) : FakerComponent(data!!) {
1212
return fetch("lorem.supplemental")
1313
}
1414

15+
@JvmOverloads
1516
fun words(num: Int = DEFAULT_NUM, supplemental: Boolean = DEFAULT_SUPPLEMENTAL): List<String> {
1617
return List(num) {
1718
if (supplemental && randomHelper.randBoolean()) {
@@ -30,6 +31,7 @@ class Lorem(data: FakerData?) : FakerComponent(data!!) {
3031
return List(count) { character() }.joinToString("")
3132
}
3233

34+
@JvmOverloads
3335
fun sentence(
3436
wordCount: Int = DEFAULT_WORD_COUNT,
3537
supplemental: Boolean = DEFAULT_SUPPLEMENTAL,
@@ -41,13 +43,15 @@ class Lorem(data: FakerData?) : FakerComponent(data!!) {
4143
.replaceFirstChar { it.titlecase() } + "."
4244
}
4345

46+
@JvmOverloads
4447
fun sentences(
4548
sentenceCount: Int = DEFAULT_SENTENCE_COUNT,
4649
supplemental: Boolean = DEFAULT_SUPPLEMENTAL
4750
): List<String> {
4851
return List(sentenceCount) { sentence(DEFAULT_WORD_COUNT, supplemental) }
4952
}
5053

54+
@JvmOverloads
5155
fun paragraph(
5256
sentenceCount: Int = DEFAULT_SENTENCE_COUNT,
5357
supplemental: Boolean = DEFAULT_SUPPLEMENTAL,
@@ -58,13 +62,15 @@ class Lorem(data: FakerData?) : FakerComponent(data!!) {
5862
return sentences.joinToString(" ")
5963
}
6064

65+
@JvmOverloads
6166
fun paragraphs(
6267
paragraphCount: Int = DEFAULT_PARAGRAPH_COUNT,
6368
supplemental: Boolean = DEFAULT_SUPPLEMENTAL
6469
): List<String> {
6570
return List(paragraphCount) { paragraph(DEFAULT_SENTENCE_COUNT, supplemental) }
6671
}
6772

73+
@JvmOverloads
6874
fun question(
6975
wordCount: Int = 4,
7076
supplemental: Boolean = false,
@@ -77,7 +83,7 @@ class Lorem(data: FakerData?) : FakerComponent(data!!) {
7783
return "$sentence?"
7884
}
7985

80-
86+
@JvmOverloads
8187
fun questions(questionsCount: Int = 3, supplemental: Boolean = false): List<String> {
8288
return List(questionsCount) { question(3, supplemental) }
8389
}

lib/src/main/kotlin/io/bloco/faker/components/Number.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Number(data: FakerData) : FakerComponent(data) {
4444
return "%0${digits}x".format(num)
4545
}
4646

47+
@JvmOverloads
4748
fun between(from: Int = DEFAULT_FROM, to: Int = DEFAULT_TO): Int {
4849
return randomHelper.range(from, to)
4950
}
@@ -56,6 +57,7 @@ class Number(data: FakerData) : FakerComponent(data) {
5657
return randomHelper.range(from, to)
5758
}
5859

60+
@JvmOverloads
5961
fun positive(from: Int = DEFAULT_FROM, to: Int = DEFAULT_TO): Int {
6062
return abs(between(from, to))
6163
}
@@ -68,6 +70,7 @@ class Number(data: FakerData) : FakerComponent(data) {
6870
return abs(between(from, to))
6971
}
7072

73+
@JvmOverloads
7174
fun negative(from: Int = DEFAULT_FROM, to: Int = DEFAULT_TO): Int {
7275
return abs(between(from, to)) * -1
7376
}

lib/src/main/kotlin/io/bloco/faker/components/Placeholdit.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import io.bloco.faker.FakerComponent
44
import io.bloco.faker.FakerData
55

66
class Placeholdit(data: FakerData) : FakerComponent(data) {
7+
8+
@JvmOverloads
79
fun image(
810
size: String = "300x300",
911
format: String = "png",
@@ -32,7 +34,7 @@ class Placeholdit(data: FakerData) : FakerComponent(data) {
3234
companion object {
3335
val SUPPORTED_FORMATS = listOf("png", "jpg", "jpeg", "gif")
3436
private const val PLACEHOLDER_URL = "https://placehold.it/"
35-
private const val SIZE_REGEX = "^[0-9]+x[0-9]+$";
37+
private const val SIZE_REGEX = "^[0-9]+x[0-9]+$"
3638
private const val HEX_REGEX = "((?:^[0-9a-fA-F]{3}$)|(?:^[0-9a-fA-F]{6}$)){1}(?!.*[^0-9a-fA-F])"
3739
}
3840
}

lib/src/main/kotlin/io/bloco/faker/components/Time.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ class Time(fakerData: FakerData) : FakerComponent(fakerData) {
1919
return between(from, to, Period.All)
2020
}
2121

22+
@JvmOverloads
2223
fun forward(numberOfDays: Int, period: Period = Period.All): Date {
2324
return randomTime(now(), period).plusDays(numberOfDays.toLong()).toDate()
2425
}
2526

27+
@JvmOverloads
2628
fun backward(numberOfDays: Int, period: Period = Period.All): Date {
2729
return randomTime(now(), period).minusDays(numberOfDays.toLong()).toDate()
2830
}

0 commit comments

Comments
 (0)