blob: 7d987c762550b13c89656b316dcf5c41ee2466b0 [file] [log] [blame]
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.lang.RuntimeException;
class Contracts {
public void simpleFail(@Nullable String message) {
notBlank(message);
log(message);
}
@Contract("_->fail")
private void notBlank(@Nullable Object message) {
throw new RuntimeException();
}
@Contract("_,_,_->fail")
private void notBlank(@Nullable Object o, String message, Object... args) {
throw new RuntimeException();
}
public void varargFail(@Nullable String message) {
notBlank(message, "Message should not be blank");
log(message);
}
public void vararg1(@Nullable String message) {
notBlank(message, "Message should not be blank", new Object());
log(message);
}
public void vararg2(@Nullable String message) {
notBlank(message, "Message should not be blank", new Object(), new Object());
log(message);
}
public void vararg3(@Nullable String message) {
notBlank(message, "Message should not be blank", new Object(), new Object(), new Object(), new Object(), new Object());
log(message);
}
public void log(@NotNull String message) {
System.out.println(message);
}
}