core-java
core-java copied to clipboard
The Java implementation of the framework core
This PR deprecates `NothingHappened` type alias in favour of `NoReaction`. See the discussion of #1335 for the reasoning behind this.
Now it is possible to declare an entity class with an entity state of a wrong kind. For example, it is possible to create a `Projection` with a message implementing...
Kotlin has standard type which is named `Nothing`. It is used in function declarations when it never returns because of throwing an exception. We have a specialized `Message` type, `io.spine.server.model.Nothing`,...
This PR migrates `core-java` to use latest ProtoData, Validation, and other internal and external dependencies.
The function proved to be useful when working in McJava. It just makes the Kotlin backend code more idiomatic. The exact code to be added is this: ```kotlin /** *...
I've just tried to create a couple of stub `Policy` classes and forgot to add `@React` annotation on the implemented `whenever()` methods. This resulted in runtime exception pointing that the...
There is no good way to know if an event is "dead" or not, as all events always have at least one dispatcher — `Stand`. We should make `Stand` register...
Right now there is a discrepancy between `testutil` modules in `core-java` and those is `time`, `web`, and (now) `logging`. Their root package names are different by their composition idea. Some...
Now it says: > Handles an event and produces some number of events in response. The signature is: ```java @ContractFor(handler = React::class) protected abstract fun whenever(event: E): Iterable ``` Logically,...
Currently, the method `Aggregate.apply(List events)` always adds all `events` to the in-memory list of aggregate's `uncommittedEvents`, ignoring the actual result of applying them to the entity. When multiple messages are...