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

tech.harmonysoft.oss.common.time.clock.ZonedSystemClockProvider.kt Maven / Gradle / Ivy

package tech.harmonysoft.oss.common.time.clock

import java.time.Clock
import java.time.ZoneId

class ZonedSystemClockProvider(
    zoneId: ZoneId
) : ClockProvider {

    private val clock = Clock.system(zoneId)

    override fun getData(): Clock {
        return clock
    }

    override fun withZone(zone: ZoneId): ClockProvider {
        return if (clock.zone == zone) {
            this
        } else {
            ClockProvider.forZone(zone)
        }
    }

    override fun refresh() {
    }

    override fun probe(): Clock {
        return data
    }

    override fun hashCode(): Int {
        return clock.zone.hashCode()
    }

    override fun equals(other: Any?): Boolean {
        return clock.zone == (other as? ZonedSystemClockProvider)?.clock?.zone
    }

    override fun toString(): String {
        return clock.zone.toString()
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy