/*
* (c) Copyright Reserved EVRYTHNG Limited 2016. All rights reserved.
* Use of this material is subject to license.
* Copying and unauthorised use of this material strictly prohibited.
*/
package com.evrythng.commons.validation.preconditions;
public final class LessThan<TARGET extends Comparable<TARGET>> extends AbstractPrecondition<TARGET> {
private static final String NAME = "LESS_THAN";
private final TARGET maximum;
public static <T extends Comparable<T>> LessThan<T> lessThan(final T maximum) {
return new LessThan<>(maximum);
}
private LessThan(final TARGET maximum) {
super(NAME);
this.maximum = maximum;
}
@Override
public final boolean test(final TARGET target) {
return target.compareTo(maximum) < 0;
}
}