# Package org.apache.groovy.contracts.domain

package org.apache.groovy.contracts.domain
Domain model classes representing contract elements such as preconditions, postconditions, and class invariants.

- Related Packages
  Package
  Description
  org.apache.groovy.contracts
  Provides Design by Contract (DbC) support for Groovy classes and methods.
  org.apache.groovy.contracts.ast
  AST transformations for implementing Design by Contract semantics, including precondition, postcondition, and invariant validation transformations.
  org.apache.groovy.contracts.generation
  Code generation and transformation utilities for producing runtime contract validation code.
  org.apache.groovy.contracts.util
  Utility functions and helper classes for contract processing and validation.
- Classes
  Class
  Description
  Assertion<T extends Assertion>
  Base class for all assertion types.
  AssertionMap<T extends Assertion<T>>
  Maps methods to their accumulated contract assertions.
  ClassInvariant
  A class-invariant assertion.
  Contract
  Represents a contract between a supplier and a customer of a class.
  LoopInvariant
  A loop-invariant assertion that must hold at the start of each iteration.
  Postcondition
  A post-condition assertion.
  Precondition
  A pre-condition assertion.