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

commonMain.jetbrains.datalore.base.edt.DefaultAsyncEdt.kt Maven / Gradle / Ivy

There is a newer version: 4.5.3-alpha1
Show newest version
/*
 * Copyright (c) 2019. JetBrains s.r.o.
 * Use of this source code is governed by the MIT license that can be found in the LICENSE file.
 */

package jetbrains.datalore.base.edt

import jetbrains.datalore.base.async.Async
import jetbrains.datalore.base.function.Runnable
import jetbrains.datalore.base.function.Supplier

abstract class DefaultAsyncEdt protected constructor() : EventDispatchThread {

    override fun scheduleAsync(r: Runnable): Async {
        return scheduleRunnableWithAsync(RunnableWithAsync.fromRunnable(r))
    }

    override fun  scheduleAsync(s: Supplier): Async {
        return scheduleRunnableWithAsync(RunnableWithAsync.fromSupplier(s))
    }

    override fun  flatScheduleAsync(s: Supplier>): Async {
        return scheduleRunnableWithAsync(RunnableWithAsync.fromAsyncSupplier(s))
    }

    protected fun  scheduleRunnableWithAsync(runnableWithAsync: RunnableWithAsync): Async {
        schedule(runnableWithAsync)
        return runnableWithAsync
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy