There are so many DBC libraries for Java out there, yet none of them that I've looked at met the following criteria:
* easy to use with little overhead (i.e. no extra class-hierarchies for contracts)
* complete code-integration (no comment-parsing stuff that needs adjustment as soon as you change a method- or parameter-name) in pure Java
* being able to not only throw an assertion when a contract fails, but also to silently log the contract violation and leave the application running (e.g. in production systems)
* easily extensible with own contracts or checks
* assign contracts to foreign classes (e.g. preventing to call "new Integer")
* lots of more ideas, e.g. profiling or logging method calls, customizable behavior for each contract definition, etc.
Use Patent Claims
Include Install Instructions
These details are provided for information only. No information here is legal advice and should not be used as such.