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

tech.harmonysoft.oss.common.data.MapModificationStrategy.kt Maven / Gradle / Ivy

package tech.harmonysoft.oss.common.data

object MapModificationStrategy : DataModificationStrategy {

    val MAP = ThreadLocal>()

    override fun setValue(key: Any, value: Any?) {
        MAP.get()[key] = value
    }
}

@Suppress("UNCHECKED_CAST")
inline fun  MapModificationStrategy.forMap(
    map: MutableMap,
    callback: (DataModificationStrategy) -> R
): R {
    MAP.set(map as MutableMap)
    return try {
        callback(MapModificationStrategy as DataModificationStrategy)
    } finally {
        MAP.set(null)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy