Package org.apache.groovy.contracts
package org.apache.groovy.contracts
Provides Design by Contract (DbC) support for Groovy classes and methods. This framework allows developers to define preconditions, postconditions, and class invariants using annotations, enabling automatic runtime validation of contract constraints.
-
ClassDescriptionAbstract base class for all assertion violations.Thrown whenever pre- or post-conditions are called in a cyclic way.Thrown whenever a class invariant violation occurs.Thrown whenever a loop invariant violation occurs.Thrown whenever a loop variant (decreases/increases) violation occurs.Runtime support for a method-level
Decreasesrecursion termination measure.Thrown whenever a postcondition violation occurs.Thrown whenever a precondition violation occurs.Thrown when a method-levelDecreasesrecursion termination measure fails — either a recursive re-entry did not strictly decrease the measure, or the measure became negative (not well-founded).Shared runtime support forDecreasestermination measures, used by both the loop variant (@Decreaseson a loop) and the recursion variant (@Decreaseson a method, viaMethodVariantSupport).A violation tracker is used to keep a list of pre-, post-condition or class-invariant violations in chronological order.