Class AbstractCrudRepository<ID,​E>

  • All Implemented Interfaces:
    CrudRepository<ID,​E>

    public abstract class AbstractCrudRepository<ID,​E>
    extends Object
    implements CrudRepository<ID,​E>

    Abstract AbstractCrudRepository class.

    Version:
    $Id: $Id
    Author:
    Long Dinh
    • Field Detail

      • pool

        protected io.vertx.sqlclient.Pool pool
      • rowMapper

        protected Function<io.vertx.sqlclient.Row,​E> rowMapper
      • collector

        protected Collector<io.vertx.sqlclient.Row,​?,​List<E>> collector
    • Constructor Detail

      • AbstractCrudRepository

        public AbstractCrudRepository()
    • Method Detail

      • init

        public void init​(io.vertx.sqlclient.Pool pool,
                         Configuration<ID,​E> configuration)

        init.

        Parameters:
        pool - a Pool object.
        configuration - a Configuration object.
      • save

        public io.vertx.core.Future<E> save​(io.vertx.sqlclient.SqlConnection conn,
                                            E entity)

        save.

        Specified by:
        save in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        entity - a E object.
        Returns:
        a Future object.
      • insert

        public io.vertx.core.Future<E> insert​(io.vertx.sqlclient.SqlConnection conn,
                                              E entity)

        insert.

        Specified by:
        insert in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        entity - a E object.
        Returns:
        a Future object.
      • update

        public io.vertx.core.Future<E> update​(io.vertx.sqlclient.SqlConnection conn,
                                              E entity)

        update.

        Specified by:
        update in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        entity - a E object.
        Returns:
        a Future object.
      • update

        public io.vertx.core.Future<E> update​(io.vertx.sqlclient.SqlConnection conn,
                                              E entity,
                                              Query<E> query)
        Specified by:
        update in interface CrudRepository<ID,​E>
      • updateDynamic

        public io.vertx.core.Future<Void> updateDynamic​(io.vertx.sqlclient.SqlConnection conn,
                                                        E entity)
        Specified by:
        updateDynamic in interface CrudRepository<ID,​E>
      • merge

        public io.vertx.core.Future<E> merge​(io.vertx.sqlclient.SqlConnection conn,
                                             E entity)
        Specified by:
        merge in interface CrudRepository<ID,​E>
      • merge

        public io.vertx.core.Future<E> merge​(io.vertx.sqlclient.SqlConnection conn,
                                             E entity,
                                             Query<E> query)
        Specified by:
        merge in interface CrudRepository<ID,​E>
      • mergeAll

        public io.vertx.core.Future<List<E>> mergeAll​(io.vertx.sqlclient.SqlConnection conn,
                                                      E entity,
                                                      Query<E> query)
        Specified by:
        mergeAll in interface CrudRepository<ID,​E>
      • delete

        public io.vertx.core.Future<Void> delete​(io.vertx.sqlclient.SqlConnection conn,
                                                 ID id)

        delete.

        Specified by:
        delete in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        id - a ID object.
        Returns:
        a Future object.
      • deleteAll

        public io.vertx.core.Future<Void> deleteAll​(io.vertx.sqlclient.SqlConnection conn)
        Specified by:
        deleteAll in interface CrudRepository<ID,​E>
      • find

        public io.vertx.core.Future<Optional<E>> find​(io.vertx.sqlclient.SqlConnection conn,
                                                      ID id)

        find.

        Specified by:
        find in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        id - a ID object.
        Returns:
        a Future object.
      • toEntity

        protected Optional<E> toEntity​(io.vertx.sqlclient.RowSet<E> rowSet)

        toEntity.

        Parameters:
        rowSet - a RowSet object.
        Returns:
        a Optional object.
      • findAll

        public io.vertx.core.Future<List<E>> findAll​(io.vertx.sqlclient.SqlConnection conn)

        findAll.

        Specified by:
        findAll in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        Returns:
        a Future object.
      • findAll

        public io.vertx.core.Future<List<E>> findAll​(io.vertx.sqlclient.SqlConnection conn,
                                                     Query<E> query)

        findAll.

        Specified by:
        findAll in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        query - a Query object.
        Returns:
        a Future object.
      • find

        public io.vertx.core.Future<Optional<E>> find​(io.vertx.sqlclient.SqlConnection conn,
                                                      Query<E> query)

        find.

        Specified by:
        find in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        query - a Query object.
        Returns:
        a Future object.
      • findAll

        public io.vertx.core.Future<Page<E>> findAll​(io.vertx.sqlclient.SqlConnection conn,
                                                     Query<E> query,
                                                     PageRequest pageRequest)

        findAll.

        Specified by:
        findAll in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        query - a Query object.
        pageRequest - a PageRequest object.
        Returns:
        a Future object.
      • count

        public io.vertx.core.Future<Long> count​(io.vertx.sqlclient.SqlConnection conn,
                                                Query<E> query)

        count.

        Specified by:
        count in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        query - a Query object.
        Returns:
        a Future object.
      • exists

        public io.vertx.core.Future<Boolean> exists​(io.vertx.sqlclient.SqlConnection conn,
                                                    ID id)

        exists.

        Specified by:
        exists in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        id - a ID object.
        Returns:
        a Future object.
      • exists

        public io.vertx.core.Future<Boolean> exists​(io.vertx.sqlclient.SqlConnection conn,
                                                    Query<E> query)

        exists.

        Specified by:
        exists in interface CrudRepository<ID,​E>
        Parameters:
        conn - a SqlConnection object.
        query - a Query object.
        Returns:
        a Future object.
      • getSqlParams

        protected Tuple getSqlParams​(Query<E> query)

        getSqlParams.

        Parameters:
        query - a Query object.
        Returns:
        a Tuple object.
      • getPool

        public io.vertx.sqlclient.Pool getPool()

        getPool.

        Specified by:
        getPool in interface CrudRepository<ID,​E>
        Returns:
        a Pool object.