/contracts

Contracts for Java.

Primary LanguageJavaApache License 2.0Apache-2.0

ch.raffael.contracts

Contracts for Java.

This projects aims to add contracts to Java, as seen in the Eiffel language. It consists of 3 parts:

  • Java annotations to annotate classes and methods with contracts using a the Cel (Contract Expression Language).

  • A compile-time processor to prepare the contracts for deployment.

  • A runtime Java agent that deploys the contract at runtime (if enabled).

For details, see the full Documentation. The user's documentation is located in the package description of ch.raffael.contracts.

This project is licensed under the Apache License 2.0