Creare Eventbus in Kotlin e Guava

Mattepuffo's logo
Creare Eventbus in Kotlin e Guava

Creare Eventbus in Kotlin e Guava

Un Eventbus è un meccanismo attraverso il quale diversi componenti comunicano tra di loro senza avere informazioni l'uni sugli altri.

Oggi vediamo un esempio basico su come creare questi eventi in Kotlin usando Guava.

Per gestire il progetto sto usando gradle; quindi aggiungete la dipendenza al file build.gradle.kts:

dependencies {
    testImplementation(kotlin("test"))

    implementation("com.google.guava:guava:30.1.1-jre")
}

Poi dobbiamo creare una classe che ci fa da listener:

import com.google.common.eventbus.Subscribe

class CustomListener {

    private var countEvt = 0
    private val eventsList: List<String> = ArrayList()

    @Subscribe
    fun myEvent(evt: String?) {
        println(evt)
        countEvt++
    }

    fun getCountEvents(): Int {
        return countEvt
    }
}

Infine richiamiamo il listener così:

import com.google.common.eventbus.EventBus

fun main(args: Array<String>) {
    val eventBus = EventBus()
    val listener = CustomListener()
    eventBus.register(listener)
    eventBus.post("EVT 1")
    eventBus.post("EVT 2")
    println(listener.getCountEvents())
}

Enjoy!


Condividi

Commentami!