Improve Decimal64 range support
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / main / java / org / opendaylight / mdsal / binding / java / api / generator / AbstractPrimitiveRangeGenerator.java
index 0c8fe8e9e4f617638fbcbb2845b07f1f7cf3c9aa..e29a9a16be980e86470d01288cd015e586d8cc01 100644 (file)
@@ -27,7 +27,7 @@ abstract class AbstractPrimitiveRangeGenerator<T extends Number & Comparable<T>>
     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);
@@ -94,6 +94,15 @@ abstract class AbstractPrimitiveRangeGenerator<T extends Number & Comparable<T>>
         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";
     }