]> source.dussan.org Git - jackcess.git/commitdiff
tag functional interfaces; use lambda syntax
authorJames Ahlborn <jtahlborn@yahoo.com>
Mon, 27 Apr 2020 00:44:02 +0000 (00:44 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Mon, 27 Apr 2020 00:44:02 +0000 (00:44 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@1322 f203690c-595d-4dc9-a70b-905162fa7fd2

src/main/java/com/healthmarketscience/jackcess/util/ColumnMatcher.java
src/main/java/com/healthmarketscience/jackcess/util/ColumnValidator.java
src/main/java/com/healthmarketscience/jackcess/util/ColumnValidatorFactory.java
src/main/java/com/healthmarketscience/jackcess/util/ErrorHandler.java
src/main/java/com/healthmarketscience/jackcess/util/LinkResolver.java
src/test/java/com/healthmarketscience/jackcess/util/ColumnValidatorTest.java

index 3a1d3aee68f1a7442aa86dda2b6e1441b7941532..629102048ca53ad1e4e0c8808a2e800b15401970 100644 (file)
@@ -25,7 +25,8 @@ import com.healthmarketscience.jackcess.Table;
  * @author James Ahlborn
  * @usage _intermediate_class_
  */
-public interface ColumnMatcher 
+@FunctionalInterface
+public interface ColumnMatcher
 {
 
   /**
index ffe2e71cedbe38d68d24677e6d8ddd94323c3025..719870adc64f052698cae0550848530baf587495 100644 (file)
@@ -27,6 +27,7 @@ import com.healthmarketscience.jackcess.Column;
  *
  * @author James Ahlborn
  */
+@FunctionalInterface
 public interface ColumnValidator
 {
   /**
index c1a4034c0875677a510700473bf27082ede70d04..14bf3d46c076bc2e696514d5c23ba76f28e5cacc 100644 (file)
@@ -25,7 +25,8 @@ import com.healthmarketscience.jackcess.Column;
  *
  * @author James Ahlborn
  */
-public interface ColumnValidatorFactory 
+@FunctionalInterface
+public interface ColumnValidatorFactory
 {
   /**
    * Returns a ColumnValidator instance for the given column, or {@code null}
index fe9197b80fba56ea18da7599f3596db65c728def..48ddcb7a2dd384555464ccf5b6173e4dffb9519d 100644 (file)
@@ -27,11 +27,12 @@ import com.healthmarketscience.jackcess.Table;
  * or Cursor level to customize error handling as desired.  The default
  * instance used is {@link #DEFAULT}, which just rethrows any exceptions
  * encountered.
- * 
+ *
  * @author James Ahlborn
  * @usage _intermediate_class_
  */
-public interface ErrorHandler 
+@FunctionalInterface
+public interface ErrorHandler
 {
   /**
    * default error handler used if none provided (just rethrows exception)
@@ -75,7 +76,7 @@ public interface ErrorHandler
   /**
    * Provides location information for an error.
    */
-  public interface Location 
+  public interface Location
   {
     /**
      * @return the table in which the error occurred
index c1beee3df786fd86e0e2d79cf90180e8f077c6fb..8e6fd82a622a134b45aa6ca04d5e0a29d5ba96e4 100644 (file)
@@ -29,6 +29,7 @@ import com.healthmarketscience.jackcess.impl.DatabaseImpl;
  * @author James Ahlborn
  * @usage _intermediate_class_
  */
+@FunctionalInterface
 public interface LinkResolver
 {
   /**
index e3634d009adc63f438d10b30f14577ec4f7586e3..e8d8eebe221d000446900050f814cf553f14938f 100644 (file)
@@ -37,7 +37,7 @@ import static com.healthmarketscience.jackcess.impl.JetFormatTest.*;
  *
  * @author James Ahlborn
  */
-public class ColumnValidatorTest extends TestCase 
+public class ColumnValidatorTest extends TestCase
 {
 
   public ColumnValidatorTest(String name) {
@@ -71,19 +71,16 @@ public class ColumnValidatorTest extends TestCase
 
       // force table to be reloaded
       clearTableCache(db);
-      
-      final ColumnValidator cv = new ColumnValidator() {
-        public Object validate(Column col, Object v1) {
+
+      final ColumnValidator cv = (col, v1) -> {
           Number num = (Number)v1;
           if((num == null) || (num.intValue() < 0)) {
             throw new IllegalArgumentException("not gonna happen");
           }
           return v1;
-        }
-      };
-            
-      ColumnValidatorFactory fact = new ColumnValidatorFactory() {
-        public ColumnValidator createValidator(Column col) {
+        };
+
+      ColumnValidatorFactory fact = col -> {
           Table t = col.getTable();
           assertFalse(t.isSystem());
           if(!"Test".equals(t.getName())) {
@@ -95,13 +92,12 @@ public class ColumnValidatorTest extends TestCase
           }
 
           return null;
-        }
-      };
+        };
 
       db.setColumnValidatorFactory(fact);
 
       table = db.getTable("Test");
-      
+
       for(Column col : table.getColumns()) {
         ColumnValidator cur = col.getColumnValidator();
         assertNotNull(cur);
@@ -111,7 +107,7 @@ public class ColumnValidatorTest extends TestCase
           assertSame(SimpleColumnValidator.INSTANCE, cur);
         }
       }
-      
+
       Column idCol = table.getColumn("id");
       Column dataCol = table.getColumn("data");
       Column numCol = table.getColumn("num");
@@ -123,7 +119,7 @@ public class ColumnValidatorTest extends TestCase
         // success
       }
       assertSame(SimpleColumnValidator.INSTANCE, idCol.getColumnValidator());
-      
+
       try {
         table.addRow(Column.AUTO_NUMBER, "row4", -3);
         fail("IllegalArgumentException should have been thrown");
@@ -139,12 +135,12 @@ public class ColumnValidatorTest extends TestCase
             createExpectedRow("id", 2, "data", "row2", "num", 0),
             createExpectedRow("id", 3, "data", "row3", "num", 1),
             createExpectedRow("id", 4, "data", "row4", "num", 4));
-      
+
       assertTable(expectedRows, table);
 
       IndexCursor pkCursor = CursorBuilder.createPrimaryKeyCursor(table);
       assertNotNull(pkCursor.findRowByEntry(1));
-      
+
       pkCursor.setCurrentRowValue(dataCol, "row1_mod");
 
       assertEquals(createExpectedRow("id", 1, "data", "row1_mod", "num", -1),
@@ -174,15 +170,13 @@ public class ColumnValidatorTest extends TestCase
       assertEquals(createExpectedRow("id", 3, "data", "row3", "num", 1),
                    CursorBuilder.findRowByPrimaryKey(table, 3));
 
-      final ColumnValidator cv2 = new ColumnValidator() {
-        public Object validate(Column col, Object v1) {
+      final ColumnValidator cv2 = (col, v1) -> {
           Number num = (Number)v1;
           if((num == null) || (num.intValue() < 0)) {
             return 0;
           }
           return v1;
-        }
-      };
+        };
 
       numCol.setColumnValidator(cv2);
 
@@ -195,7 +189,7 @@ public class ColumnValidatorTest extends TestCase
             createExpectedRow("id", 3, "data", "row3", "num", 1),
             createExpectedRow("id", 4, "data", "row4", "num", 4),
             createExpectedRow("id", 5, "data", "row5", "num", 0));
-      
+
       assertTable(expectedRows, table);
 
       assertNotNull(pkCursor.findRowByEntry(3));
@@ -203,8 +197,8 @@ public class ColumnValidatorTest extends TestCase
 
       assertEquals(createExpectedRow("id", 3, "data", "row3", "num", 0),
                    pkCursor.getCurrentRow());
-      
+
       db.close();
     }
-  }  
+  }
 }