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

io.github.numichi.reactive.logger.hook.MDCContextHookCache.kt Maven / Gradle / Ivy

package io.github.numichi.reactive.logger.hook

enum class Position {
    BEFORE,
    AFTER,
}

internal object MDCContextHookCache {
    private val store = mutableMapOf()

    fun clear() {
        store.clear()
    }

    fun getHooks(): Map {
        return store
    }

    fun existsHook(position: Position): Boolean {
        return store.containsKey(position)
    }

    fun addHook(hook: MDCContextHook) {
        if (hook.position == Position.BEFORE) {
            store[Position.BEFORE] = hook
        } else {
            store[Position.AFTER] = hook
        }
    }

    fun removeHook(position: Position) {
        store.remove(position)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy