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

ru.hnau.jutils.helpers.Outdatable.kt Maven / Gradle / Ivy

There is a newer version: 2.1.1
Show newest version
package ru.hnau.jutils.helpers

import ru.hnau.jutils.TimeValue


class Outdatable(
        value: T,
        private val lifetime: TimeValue? = null
) {

    private val outdatableValue = value
    private val valueReceived = TimeValue.now()

    val value: T?
        get() = outdatableValue.takeIf { valueReceived.isActual(lifetime) }

}

fun  T.toOutdatable(lifetime: TimeValue? = null) =
        Outdatable(this, lifetime)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy