All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.edgar615.util.db.Paginations Maven / Gradle / Ivy

The newest version!
package com.github.edgar615.util.db;

import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * Created by Edgar on 2017/8/15.
 *
 * @author Edgar  Date 2017/8/15
 */
public class Paginations {

  private Paginations() {
    throw new AssertionError("Not instantiable: " + Paginations.class);
  }


  public static  Pagination transform(
      Pagination pagination, Function function) {
    List mapRecords =
        pagination.getRecords().stream()
            .map(r -> function.apply(r))
            .collect(Collectors.toList());
    return Pagination.newInstance(pagination.getPage(), pagination.getPageSize(),
        pagination.getTotalRecords(), mapRecords);
  }

  public static  Pagination transformToMap(
      Pagination pagination) {
    return transform(pagination, p -> p.toMap());
  }

  public static  Pagination transformToMap(
      Pagination pagination, Consumer consumer) {
    List mapRecords =
        pagination.getRecords().stream()
            .map(r -> r.toMap())
            .collect(Collectors.toList());
    mapRecords.forEach(m -> consumer.accept(m));

    return Pagination.newInstance(pagination.getPage(), pagination.getPageSize(),
        pagination.getTotalRecords(), mapRecords);
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy