All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.serpro69.kfaker.provider.Educator.kt Maven / Gradle / Ivy

There is a newer version: 2.0.0-rc.7
Show newest version
package io.github.serpro69.kfaker.provider

import io.github.serpro69.kfaker.*
import io.github.serpro69.kfaker.dictionary.*
import io.github.serpro69.kfaker.provider.unique.LocalUniqueDataProvider
import io.github.serpro69.kfaker.provider.unique.UniqueProviderDelegate

/**
 * [FakeDataProvider] implementation for [YamlCategory.EDUCATOR] category.
 */
@Suppress("unused")
class Educator internal constructor(fakerService: FakerService) : YamlFakeDataProvider(fakerService) {
    override val yamlCategory = YamlCategory.EDUCATOR
    override val localUniqueDataProvider = LocalUniqueDataProvider()
    override val unique by UniqueProviderDelegate(localUniqueDataProvider)

    init {
        fakerService.load(yamlCategory)
    }

    val tertiary = Tertiary(fakerService)

    fun schoolName() = resolve("school_name")
    fun secondary() = resolve("secondary")
    fun primary() = resolve("primary")
    fun university() = resolve("university")
    fun secondarySchool() = resolve("secondary_school")
    fun primarySchool() = resolve("primary_school")
    fun campus() = resolve("campus")
    fun subject() = resolve("subject")
    fun degree() = resolve("degree")
    fun courseName() = resolve("course_name")

    @Deprecated(
        message = "This is deprecated and will be removed in future releases",
        replaceWith = ReplaceWith("tertiary.universityType()"),
        level = DeprecationLevel.WARNING
    )
    fun universityType() = resolve("tertiary", "university_type")
}

class Tertiary internal constructor(fakerService: FakerService) : YamlFakeDataProvider(fakerService) {
    override val yamlCategory = YamlCategory.EDUCATOR
    override val localUniqueDataProvider = LocalUniqueDataProvider()
    override val unique by UniqueProviderDelegate(localUniqueDataProvider)

    init {
        fakerService.load(yamlCategory)
    }

    val degree = Degree(fakerService)

    fun universityType() = resolve("tertiary", "university_type")
}

class Degree internal constructor(fakerService: FakerService) : YamlFakeDataProvider(fakerService) {
    override val yamlCategory = YamlCategory.EDUCATOR
    override val localUniqueDataProvider = LocalUniqueDataProvider()
    override val unique by UniqueProviderDelegate(localUniqueDataProvider)

    init {
        fakerService.load(yamlCategory)
    }

    fun type() = resolve("tertiary", "degree", "type")
    fun courseNumber() = with(fakerService) {
        resolve("tertiary", "degree", "course_number")
            .numerify()
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy