<dependency>
<groupId>com.google.code.contract</groupId>
<artifactId>c4j</artifactId>
<version>0.8.12</version>
</dependency>
import com.google.java.contract.Contract;
import com.google.java.contract.Requires;
import com.google.java.contract.Ensures;
import com.google.java.contract.Invariant;
@Contract
public class Person {
private String name;
private int age;
@Requires("age >= 0")
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Ensures("result >= 0")
public int getAge() {
return age;
}
@Ensures("name != null && name.length() > 0")
public String getName() {
return name;
}
@Invariant("age >= 0 && name != null && name.length() > 0")
public void invariant() {
}
}
import com.google.java.contract.PreconditionError;
import com.google.java.contract.Contract;
public class Main {
public static void main(String[] args) {
Contract.class.getClassLoader().setDefaultAssertionStatus(true);
try {
} catch (PreconditionError e) {
e.printStackTrace();
}
}
}