kerner1000 / events1000

Lightweight Event System

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

events1000

A Lightweight Event System.

Build Status codecov

Features

Events can be visited or consumed

Asynchronous, Synchronous and UI Events

Event Topics may have (more generic) parent Topis

Usage

Creating Objects

	EventListener listener = new SynchronousEventListener() {

	    @Override
	    public EventTopic getTopic() {
		return EventTopic.get("test");
	    }

	    @Override
	    public boolean visit(Event e) {
		System.err.println("Hey there!");
		return false;
	    }
	};
	Event event = new SynchronousEvent() {

	    @Override
	    public UUID getUUID() {
		return UUID.randomUUID();
	    }

	    @Override
	    public EventTopic getTopic() {
		return EventTopic.get("test");
	    }
	};

Register Listener

Events.getInstance().registerListener(listener);

Emit an Event

Events.getInstance().emit(event);

Output

Hey there!

About

Lightweight Event System

License:Apache License 2.0


Languages

Language:Java 100.0%