]> source.dussan.org Git - jackcess.git/commitdiff
add utility methods for getting size/scale/precision within valid range for a given...
authorJames Ahlborn <jtahlborn@yahoo.com>
Wed, 13 Aug 2008 02:39:50 +0000 (02:39 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Wed, 13 Aug 2008 02:39:50 +0000 (02:39 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@372 f203690c-595d-4dc9-a70b-905162fa7fd2

src/java/com/healthmarketscience/jackcess/DataType.java

index 8e08bec85f2d1e1cafb8a6eff7c08319d0ccdd49..022b5213d5677d2c58244a14feb64f1bf80406f0 100644 (file)
@@ -352,6 +352,23 @@ public enum DataType {
     return((value >= minValue) && (value <= maxValue));
   }
   
+  public int toValidSize(int size) {
+    return toValidRange(size, getMinSize(), getMaxSize());
+  }
+
+  public int toValidScale(int scale) {
+    return toValidRange(scale, getMinScale(), getMaxScale());
+  }
+
+  public int toValidPrecision(int precision) {
+    return toValidRange(precision, getMinPrecision(), getMaxPrecision());
+  }
+
+  private int toValidRange(int value, int minValue, int maxValue) {
+    return((value > maxValue) ? maxValue :
+           ((value < minValue) ? minValue : value));
+  }
+  
   public static DataType fromByte(byte b) throws IOException {
     DataType rtn = DATA_TYPES.get(b);
     if (rtn != null) {