小编Rah*_*hul的帖子

带有 Java 分页的迭代器设计模式

我正在尝试对 API 进行服务调用,该 API 以分页格式返回结果,并希望为此提供有关迭代器设计模式的建议。

到目前为止我所拥有的是这样的

public class CustomIterator implements Iterator<Type> {

 private List<Result> results;
 private Service service;

 private int index;
 private int paginatedResultSize;
 private int totalResultsSize;

 public CustomIterator(Service service) {
  this.service = service;
  this.index = 0;
  this.results = getResults(index);
  this.totalResultsSize = this.results.totalResultsSize();
 }

 @Override
 public boolean hasNext() {
   if (index < totalResultsSize)
    return true;
   return false;
 }

 @Override
 public Type next() {

  if(index == paginatedResultSize) {
   getResults(index);
  }

  return results[index++];

 }

 private List<Result> getResults(index) throws Exception {
  this.results = …
Run Code Online (Sandbox Code Playgroud)

java pagination iterator

5
推荐指数
1
解决办法
4453
查看次数

将 argdo 与 vim 一起使用

我试图在多个文件上运行命令“set tabstop=4”,然后“retab”。

我已经到了像这样获取我的 arglist 的地步

args ~/workspace/**/*.java
Run Code Online (Sandbox Code Playgroud)

当我只是使用 args 命令查看文件时,我可以看到这项工作很好。现在,当我尝试对其运行“set tabstop=4”命令时,我只是无法获得正确的组合。我试过了

argdo "set tabstop=4" 
Run Code Online (Sandbox Code Playgroud)

进而

argdo "update" 
Run Code Online (Sandbox Code Playgroud)

但它似乎从未应用更新,而且我确定有更新,因为我可以单独转到其中一个文件并运行命令并更改文件。我尝试过不同的组合,比如

argdo execute "set tabstop=4"
Run Code Online (Sandbox Code Playgroud)

它似乎永远不会做任何事情。任何帮助,将不胜感激!

vim args tabstop

0
推荐指数
1
解决办法
1082
查看次数

标签 统计

args ×1

iterator ×1

java ×1

pagination ×1

tabstop ×1

vim ×1