summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2017-04-15 17:57:58 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2017-04-15 17:57:58 +0200
commit08f161e0f370e91ee4e0cacbe3fec6c6bd9316cc (patch)
tree36798da57f99dab5449083b691361795ef9ddd49
parent5216c437a3aa95a22a603ff91126fb944b2da0a0 (diff)
downloadshare-08f161e0f370e91ee4e0cacbe3fec6c6bd9316cc.zip
share-08f161e0f370e91ee4e0cacbe3fec6c6bd9316cc.tar.gz
java : MyMyBatis goes functional interface
-rw-r--r--java/MyMyBatis/src/AbstractDAO.java5
-rw-r--r--java/MyMyBatis/src/AbstractDAOOperations.java25
2 files changed, 10 insertions, 20 deletions
diff --git a/java/MyMyBatis/src/AbstractDAO.java b/java/MyMyBatis/src/AbstractDAO.java
index 916d511..142b69f 100644
--- a/java/MyMyBatis/src/AbstractDAO.java
+++ b/java/MyMyBatis/src/AbstractDAO.java
@@ -20,9 +20,10 @@ public abstract class AbstractDAO<TObject, TMapper>
static public SqlConnection getSqlConnection() { return conn; }
- protected abstract class CallBack<TRet, TMapper>
+ @FunctionalInterface
+ public interface CallBack<TRet, TMapper>
{
- public abstract TRet call(TMapper m);
+ public TRet call(TMapper m);
}
protected int execInt(boolean commit, CallBack<Integer, TMapper> cb)
diff --git a/java/MyMyBatis/src/AbstractDAOOperations.java b/java/MyMyBatis/src/AbstractDAOOperations.java
index e39f680..6fcd6e4 100644
--- a/java/MyMyBatis/src/AbstractDAOOperations.java
+++ b/java/MyMyBatis/src/AbstractDAOOperations.java
@@ -4,45 +4,34 @@ import java.util.List;
public abstract class AbstractDAOOperations<TObject, TIdentity, TMapper extends AbstractMapper<TObject, TIdentity>> extends AbstractDAO<TObject, TMapper>
{
+
public int insert(final TObject obj)
{
- return execInt(true, new CallBack<Integer, TMapper>() {
- public Integer call(TMapper m) { return m.insert(obj); }
- });
+ return execInt(true, m -> m.insert(obj));
}
public int update(final TObject obj)
{
- return execInt(true, new CallBack<Integer, TMapper>() {
- public Integer call(TMapper m) { return m.update(obj); }
- });
+ return execInt(true, m -> m.update(obj));
}
public int delete(final TObject obj)
{
- return execInt(true, new CallBack<Integer, TMapper>() {
- public Integer call(TMapper m) { return m.delete(obj); }
- });
+ return execInt(true, m -> m.delete(obj));
}
public int count()
{
- return execInt(false, new CallBack<Integer, TMapper>() {
- public Integer call(TMapper m) { return m.count(); }
- });
+ return execInt(false, m -> m.count());
}
public List<TObject> select()
{
- return execObjects(false, new CallBack<List<TObject>, TMapper>() {
- public List<TObject> call(TMapper m) { return m.select(); }
- });
+ return execObjects(false, m -> m.select());
}
public TObject selectOne(final TIdentity id)
{
- return execObject(false, new CallBack<TObject, TMapper>() {
- public TObject call(TMapper m) { return m.selectOne(id); }
- });
+ return execObject(false, m -> m.selectOne(id));
}
}