Commit Graph

100 Commits

Author SHA1 Message Date
ff35e7f37d
Fix several edge cases in EventProcessor
When encountering an event handler with an invalid signature, the
processor doesn't crash anymore. Also, event parameters that aren't
objects are now reported as errors.
2021-02-17 08:22:48 +01:00
1dd9e05c38
Rename event-bus-ap to event-bus-proc 2021-02-15 21:02:34 +01:00
39c51c8953
Merge pull request 'Split @Event Parameters Into @Polymorphic and @Property, Remove Marker Interfaces' (#5) from f/new-annotations into develop
Reviewed-on: https://git.kske.dev/kske/event-bus/pulls/5
Reviewed-by: delvh <leon@kske.dev>
2021-02-15 20:38:18 +01:00
002180ed3b
Remove EventListener and IEvent marker interfaces
This allows Event Bus to interface with existing classes without
modification.
2021-02-15 20:36:09 +01:00
603fe80df6
Merge pull request 'Restructure Project, Add Annotation Processor' (#4) from f/annotation-processor into develop
Reviewed-on: https://git.kske.dev/kske/event-bus/pulls/4
Reviewed-by: delvh <leon@kske.dev>
2021-02-15 13:42:27 +01:00
cd2e7ad023
Rename Event#eventType to Event#value for more concise usage 2021-02-15 13:42:20 +01:00
9b1c708514
Replace priority with @Priority
The new @Priority annotation serves the exact same purpose as
@Event(priority = ...), but should be easier to read in complex handler
declarations. It has to be used in conjunction with the @Event
annotation, not instead of it.
2021-02-15 12:06:33 +01:00
3a6ebe9a19
Replace includeSubtypes with @Polymorphic
The new @Polymorphic annotation serves the exact same purpose as
@Event(includeSubtypes = true), but should be easier to read in complex
handler declarations. It has to be used in conjunction with the @Event
annotation, not instead of it.
2021-02-15 10:55:30 +01:00
e040f6ab1b
Simplify binding access calls in EventBus 2021-02-15 09:25:16 +01:00
ebc11555f6
Fix developer connection string in POM 2021-02-15 08:26:07 +01:00
955e2d82b4
Add Event Bus AP section to README
Additionally bump version to 1.0.0 and adjust package names.
2021-02-14 21:48:24 +01:00
ab01845178
Refactor EventProcessor for improved readability 2021-02-14 21:29:06 +01:00
023acb9172
Add simple annotation processor, generate shaded processor JAR 2021-02-14 14:34:19 +01:00
fd255d65cc
Rename event-bus module to event-bus-core, add event-bus-ap module
event-bus is now a parent project containing the two modules
event-bus-core (the previous event-bus) and event-bus-ap (annotation
processor).

The version of the parent project (and thus that of the modules) has
been bumped to 1.0.0, as this change breaks compatibility with previous
versions due to the different artifact, module and package names.
2021-02-09 09:52:26 +01:00
9701e862df
Add parent project, convert existing project to Maven module 2021-02-08 19:30:37 +01:00
dcc578076a
Move project to subdirectory, adjust .gitignore 2021-02-08 18:49:37 +01:00
883efed342
Update license in POM 2021-02-06 14:05:48 +01:00
273531e352
Link the Maven repository in README 2021-01-08 09:45:07 +01:00
8b1e3a8c4a
Rewrite a paragraph in README 2021-01-03 17:00:20 +01:00
d098b83d85
Change license to GPL-3.0 2021-01-03 15:29:36 +01:00
cc266ca408
Add CODE_OF_CONDUCT 2020-12-14 11:57:55 +01:00
748cb8b71a
Merge pull request 'Add Event Cancellation' (#3) from f/cancel-event into develop
Reviewed-on: https://git.kske.dev/zdm/event-bus/pulls/3
2020-11-26 08:57:46 +01:00
0e5f31b63e
Merge branch 'develop' into f/cancel-event
Conflicts:
	src/test/java/dev/kske/eventbus/EventBusTest.java
2020-11-26 08:16:01 +01:00
ec73be9046
Split EventBusTest into DispatchTest and CancelTest, add Javadoc 2020-11-26 08:14:11 +01:00
659bd7888f
Simplify cancellation test, fix a typo 2020-11-25 08:35:51 +01:00
8aefb43823
Add Test for Cancellation 2020-11-23 23:42:17 +01:00
9d1707de5b
Add event consumption section to README 2020-10-11 11:31:51 +02:00
1d2102d729
Add event cancellation mechanism to EventBus 2020-10-02 17:50:11 +02:00
cd2598d5d3 Add Section About Static Methods in README (#2)
Add paragraph about static methods in README

Co-authored-by: kske <kai@kske.dev>
Reviewed-on: https://git.kske.dev/zdm/event-bus/pulls/2
Reviewed-by: kske <kai@kske.dev>
2020-09-26 09:59:08 +02:00
f6e5c90a44
Add static event handler test 2020-09-25 16:22:27 +02:00
dbb816c6cb
Add double checked synchronization to EventBus instance initializer 2020-09-24 17:41:08 +02:00
603a838640 Add Missing Javadoc to EventBusException (#1)
Removed annoying Javadoc error
Reviewed-on: https://git.kske.dev/zdm/event-bus/pulls/1
Reviewed-by: kske <kai@kske.dev>
2020-09-23 20:55:16 +02:00
b6b73d335a
Add logging to EventBus using the Platform Logging API 2020-09-20 15:28:13 +02:00
8cf51441ad Add priority section to README 2020-09-20 14:35:50 +02:00
001c0eea7e
Fix Maven plugin versions for sources and Javadoc, fix <ul> in Javadoc 2020-09-20 14:05:35 +02:00
ba06b49368
Add subtype inclusion for event handlers 2020-09-20 12:20:29 +02:00
7a3debe444
Support parameter-less event handlers
- Add eventType value to Event
- Move semantic event handler checks to EventHandler
- Use Objects#requireNonNull(T) on public API method parameters
- Update README with a parameter-less event handlers section
2020-09-08 20:13:42 +02:00
5f88ad6095
Add a module descriptor for the entire library 2020-09-08 17:06:45 +02:00
bdf7dcfeda
Use singleton EventBus in README and unit test 2020-09-08 09:38:46 +02:00
f407021cea
Bypass method access checks for event handlers 2020-09-08 08:43:53 +02:00
70bcfd5125
Add singleton EventBus instance 2020-09-08 08:43:53 +02:00
856e81b090
Enable Javadoc and source generation in POM 2020-09-08 08:43:52 +02:00
83010942f1
Add installation instructions 2020-09-08 08:43:52 +02:00
2cc7e722b6
Add description and example to README 2020-09-08 08:43:51 +02:00
d2563518fb
Add simple unit test and fix event handler ordering 2020-09-08 08:43:51 +02:00
f6848e86ff
Add license, developer and SCM information to POM 2020-09-08 08:43:50 +02:00
88ba515cbf
Add all relevant classes and event bus logic 2020-09-08 08:43:50 +02:00
9fdf2a822b
Remove resource folders, add JUnit 5 dependency 2020-09-08 08:43:50 +02:00
8a3099d5b6
Add Maven / Eclipse project 2020-09-08 08:43:49 +02:00
be7696c7d4
Initial commit 2020-09-08 08:43:39 +02:00