Repository: beam
Updated Branches:
  refs/heads/master 5130cab4a -> 63de41ac2


Add @FunctionalInterface annotation to several interfaces

By adding the @FunctionalInterface to RowMapper, StatementPreperator and
PreparedStatementSetter it's possible to write a JdbcIO source in a
more concise and functional style.

This change is backwards compatible with existing JdbcIO sources.


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/c1bfe00f
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/c1bfe00f
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/c1bfe00f

Branch: refs/heads/master
Commit: c1bfe00f77bb3726fd7d8282cd1cf41ef2ddd99e
Parents: 5130cab
Author: Ward Van Assche <w...@piesync.com>
Authored: Tue Oct 3 15:13:22 2017 +0200
Committer: Eugene Kirpichov <kirpic...@google.com>
Committed: Mon Oct 9 11:42:00 2017 -0700

----------------------------------------------------------------------
 .../io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/c1bfe00f/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java
----------------------------------------------------------------------
diff --git 
a/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java 
b/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java
index 6ac6341..b134ec0 100644
--- a/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java
+++ b/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java
@@ -169,6 +169,7 @@ public class JdbcIO {
    * An interface used by {@link JdbcIO.Read} for converting each row of the 
{@link ResultSet} into
    * an element of the resulting {@link PCollection}.
    */
+  @FunctionalInterface
   public interface RowMapper<T> extends Serializable {
     T mapRow(ResultSet resultSet) throws Exception;
   }
@@ -268,6 +269,7 @@ public class JdbcIO {
    * An interface used by the JdbcIO Write to set the parameters of the {@link 
PreparedStatement}
    * used to setParameters into the database.
    */
+  @FunctionalInterface
   public interface StatementPreparator extends Serializable {
     void setParameters(PreparedStatement preparedStatement) throws Exception;
   }
@@ -499,6 +501,7 @@ public class JdbcIO {
    * An interface used by the JdbcIO Write to set the parameters of the {@link 
PreparedStatement}
    * used to setParameters into the database.
    */
+  @FunctionalInterface
   public interface PreparedStatementSetter<T> extends Serializable {
     void setParameters(T element, PreparedStatement preparedStatement) throws 
Exception;
   }

Reply via email to