abstract class AbstractPrimitiveRangeGenerator<T extends Number & Comparable<T>> extends AbstractRangeGenerator<T> {
private static final Logger LOG = LoggerFactory.getLogger(AbstractPrimitiveRangeGenerator.class);
- private final String primitiveName;
- private final T minValue;
- private final T maxValue;
+ private final @NonNull String primitiveName;
+ private final @NonNull T minValue;
+ private final @NonNull T maxValue;
- protected AbstractPrimitiveRangeGenerator(final Class<T> typeClass, final String primitiveName, final T minValue,
+ AbstractPrimitiveRangeGenerator(final Class<T> typeClass, final String primitiveName, final T minValue,
final T maxValue) {
super(typeClass);
this.primitiveName = requireNonNull(primitiveName);
sb.append("value >= ").append(format(min));
}
+ /**
+ * Format a value into a Java-compilable expression which results in the appropriate
+ * type.
+ *
+ * @param value Number value
+ * @return Java language string representation
+ */
+ protected abstract @NonNull String format(T value);
+
String codeHelpersThrow() {
return "throwInvalidRange";
}