Java SDK for CloudEvents
Go to file
Francesco Guardiani 2730ae4a13
Expression language (#363)
* Configured the sql package

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Bootstrap implementation

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Literal done

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More progress

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Progress

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Sync contract

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix type cohercion for event type system

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* In expression + sync grammar

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Implemented binary expressions

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Implemented Like expression

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Big refactor

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More testing
Fix math

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Implemented all the functions!

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Refactored logical expressions implementation
More testing

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More coverage and tests

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fixed ConcatFunction and added ConcatWSFunction

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fixed IN type casting

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added ABS function

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix SUBSTRING implementation

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More nits

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* WIP Javadoc-ing

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix division by 0

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Bootstrapped TCK

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added comparison operators to tck

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added logical operators, case sensitivity and casting functions

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Copied all the tests to the tck

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Removed Java tests now covered by the TCK

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added integer builtin test case

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Added fail fast evaluation mode

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* More changes
More Javadoc

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Typo

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix bad javadoc

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Another CONCAT_WS test case

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Import yaml just for testing

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
2021-04-28 14:58:55 +02:00
.github/workflows Release process docs (#248) 2020-09-29 13:35:57 +02:00
.mvn/wrapper Add Maven wrapper (#144) 2020-04-29 18:21:22 +02:00
amqp Bump to 2.1.0-SNAPSHOT (#346) 2021-02-15 09:19:58 +01:00
api Specification Compliant handling of numeric context attributes (#358) 2021-03-24 16:58:33 +01:00
benchmarks Bump to 2.1.0-SNAPSHOT (#346) 2021-02-15 09:19:58 +01:00
core fix: Adding withoutData, withoutDataContentType and withoutDataSchema to CloudEventBuilder (#374) 2021-04-23 13:59:39 +02:00
docs formats: Add support for protobuf format (#348) 2021-04-19 09:24:26 +02:00
examples Bump jetty-server in /examples/basic-http (#372) 2021-04-19 12:38:51 +02:00
formats formats: Add support for protobuf format (#348) 2021-04-19 09:24:26 +02:00
http Bump to 2.1.0-SNAPSHOT (#346) 2021-02-15 09:19:58 +01:00
kafka Bump to 2.1.0-SNAPSHOT (#346) 2021-02-15 09:19:58 +01:00
spring Regularize copyright headers (#354) 2021-03-05 10:19:47 +01:00
sql Expression language (#363) 2021-04-28 14:58:55 +02:00
.editorconfig Added editorconfig check during the verify phase (#239) 2020-09-28 10:00:21 +02:00
.gitignore Fix 404 Not Found in AMQP module Readme (#316) 2020-12-02 21:28:14 +01:00
LICENSE Formatted code and added copyright headers (#140) 2020-04-28 13:56:06 +02:00
README.md formats: Add support for protobuf format (#348) 2021-04-19 09:24:26 +02:00
maintainer_guidelines.md Release process docs (#248) 2020-09-29 13:35:57 +02:00
mvnw Add Maven wrapper (#144) 2020-04-29 18:21:22 +02:00
mvnw.cmd Add Maven wrapper (#144) 2020-04-29 18:21:22 +02:00
pom.xml Expression language (#363) 2021-04-28 14:58:55 +02:00
pr_guidelines.md copy guidance from javascript repo (#159) 2020-06-04 15:02:20 +02:00

README.md

Java SDK for CloudEvents API

License Maven Central Javadocs

The Java SDK for CloudEvents is a collection of Java packages to adopt CloudEvents in your Java application.

Using the Java SDK you can:

  • Access, create and manipulate CloudEvent inside your application.
  • Serialize and deserialize CloudEvent back and forth using the CloudEvents Event Format, like Json.
  • Read and write CloudEvent back and forth to HTTP, Kafka, AMQP using the CloudEvents Protocol Binding implementations we provide for a wide range of well known Java frameworks/libraries.

To check out the complete documentation and how to get started, look at the dedicated website https://cloudevents.github.io/sdk-java/.

Status

This SDK is considered work in progress. The community is working hard to bring you a new major version of the SDK with major enhancements both to APIs and to implementation.

If you want to know more about v1 of this SDK, check out the v1 readme

Stay tuned!

Supported features of the specification:

v0.3 v1.0
CloudEvents Core ✔️ ✔️
AMQP Protocol Binding
- Proton ✔️ ✔️
AVRO Event Format
HTTP Protocol Binding ✔️ ✔️
- Vert.x ✔️ ✔️
- Jakarta Restful WS ✔️ ✔️
- Basic ✔️ ✔️
- Spring ✔️ ✔️
- http4k ✔️ ✔️
JSON Event Format ✔️ ✔️
- Jackson ✔️ ✔️
Protobuf Event Format ✔️ ✔️
- Proto ✔️ ✔️
Kafka Protocol Binding ✔️ ✔️
MQTT Protocol Binding
NATS Protocol Binding
Web hook

† Source/artifacts hosted externally

Documentation

Documentation is available at https://cloudevents.github.io/sdk-java/.

Javadocs are available on javadoc.io:

You can check out the examples in the examples directory.

Used By

Occurrent Knative Eventing http4k
Occurrent http4k

Community

Each SDK may have its own unique processes, tooling and guidelines, common governance related material can be found in the CloudEvents community directory. In particular, in there you will find information concerning how SDK projects are managed, guidelines for how PR reviews and approval, and our Code of Conduct information.