StringPreconditions.java
package com.github.choonchernlim.betterPreconditions.preconditions;
import com.github.choonchernlim.betterPreconditions.core.Matcher;
import com.github.choonchernlim.betterPreconditions.core.PreconditionException;
import com.github.choonchernlim.betterPreconditions.core.Preconditions;
import com.github.choonchernlim.betterPreconditions.exception.StringBlankPreconditionException;
import com.github.choonchernlim.betterPreconditions.exception.StringNotBlankPreconditionException;
import static com.google.common.base.Strings.nullToEmpty;
/**
* String related preconditions.
*/
public class StringPreconditions extends Preconditions<StringPreconditions, String> {
/**
* Package constructor.
*
* @param value Value
* @param label Label
*/
StringPreconditions(final String value, final String label) {
super(value, label);
}
/**
* Ensures the string is blank.
*
* @return Current instance
*/
public StringPreconditions toBeBlank() {
return customMatcher(new Matcher<String>() {
@Override
public boolean match(final String value, final String label) {
return nullToEmpty(value).trim().isEmpty();
}
@Override
public PreconditionException getException(final String value, final String label) {
return new StringNotBlankPreconditionException(value, label);
}
@Override
public PreconditionException getNegatedException(final String value, final String label) {
return new StringBlankPreconditionException(value, label);
}
});
}
}