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

io.hackle.sdk.common.ParameterConfig.kt Maven / Gradle / Ivy

package io.hackle.sdk.common

interface ParameterConfig : Config {

    val parameters: Map

    override fun getString(key: String, defaultValue: String): String

    override fun getInt(key: String, defaultValue: Int): Int

    override fun getLong(key: String, defaultValue: Long): Long

    override fun getDouble(key: String, defaultValue: Double): Double

    override fun getBoolean(key: String, defaultValue: Boolean): Boolean

    companion object {
        fun empty(): ParameterConfig {
            return EmptyParameterConfig
        }
    }
}

private object EmptyParameterConfig : ParameterConfig {
    override val parameters: Map = emptyMap()
    override fun getString(key: String, defaultValue: String): String = defaultValue
    override fun getInt(key: String, defaultValue: Int): Int = defaultValue
    override fun getLong(key: String, defaultValue: Long): Long = defaultValue
    override fun getBoolean(key: String, defaultValue: Boolean): Boolean = defaultValue
    override fun getDouble(key: String, defaultValue: Double): Double = defaultValue
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy