
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