This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git commit 06445f57363dba5115b05e120d370bb8a2359434 Author: Brendan Le Ny <bleny@codelutin.com> Date: Mon Feb 12 15:24:48 2018 +0100 Add TopiaDao#streamAll https://gitlab.nuiton.org/nuiton/topia/issues/658 --- .../src/main/java/org/nuiton/topia/persistence/TopiaDao.java | 12 +++++++++++- .../nuiton/topia/persistence/internal/AbstractTopiaDao.java | 6 ++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java index b20181f2..6cbba4a9 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDao.java @@ -32,6 +32,7 @@ import org.nuiton.util.pagination.PaginationResult; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.stream.Stream; /** * This contract represents the common operations any Dao should be able to provide as API. @@ -159,11 +160,20 @@ public interface TopiaDao<E extends TopiaEntity> extends Iterable<E> { /** * Finds all the entities managed by this DAO. * - * @return the full list of entities in no particular (non-determinisic) order + * @return the full list of entities in no particular (non-deterministic) order */ List<E> findAll(); /** + * Stream all the entities managed by this DAO. + * + * Actual behavior rely on implementation: caller should {@link Stream#close()} the stream (may depend on implementation). + * + * @return the full list of entities in no particular (non-deterministic) order + */ + Stream<E> streamAll(); + + /** * @return FIXME * @since 3.0 */ diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java index 8974c3bf..2a95e134 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaDao.java @@ -744,6 +744,12 @@ public abstract class AbstractTopiaDao<E extends TopiaEntity> implements TopiaDa } @Override + public Stream<E> streamAll() { + Stream<E> result = newQueryBuilder().stream(); + return result; + } + + @Override public Iterable<E> findAllLazy() { String hql = " FROM " + getTopiaEntityEnum().getImplementationFQN() + " ORDER BY id "; Map<String, Object> hqlParameters = Collections.emptyMap(); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.