package tc.oc.pgm.xml.validate; import java.time.Duration; import javax.annotation.Nullable; import tc.oc.pgm.xml.InvalidXMLException; import tc.oc.pgm.xml.Node; public class DurationIs { public static class NotNegative implements Validation<Duration> { @Override public void validate(Duration value, @Nullable Node node) throws InvalidXMLException { if(value.isNegative()) { throw new InvalidXMLException("Time cannot be negative", node); } } } public static class NotZero implements Validation<Duration> { @Override public void validate(Duration value, @Nullable Node node) throws InvalidXMLException { if(value.isZero()) { throw new InvalidXMLException("Time cannot be zero", node); } } } public static class Positive implements Validation<Duration> { @Override public void validate(Duration value, @Nullable Node node) throws InvalidXMLException { if(value.isNegative() || value.isZero()) { throw new InvalidXMLException("Time must be greater than zero", node); } } } }