@Override public Integer getMaxResultSize() { return spec.getMaxResultSize(); } }
@Override public boolean hasNextPage() { if (lastEvaluatedKey == null) return false; Integer max = spec.getMaxResultSize(); if (max == null) return true; return nextRequestLimit(max.intValue()) > 0; }
@Override public Page<Table,ListTablesResult> nextPage() { if (lastEvaluatedKey == null) { throw new NoSuchElementException("No more pages"); } final Integer max = spec.getMaxResultSize(); if (max != null) { int nextLimit = nextRequestLimit(max.intValue()); if (nextLimit == 0) throw new NoSuchElementException("No more pages"); request.setLimit(nextLimit); } request.setExclusiveStartTableName(lastEvaluatedKey); ListTablesResult result = client.listTables(request); final int nextIndex = index + this.size(); return new ListTablesPage(client, spec, request, nextIndex, result); }
public ListTablesPage( AmazonDynamoDB client, ListTablesSpec spec, ListTablesRequest request, int index, ListTablesResult result) { super(Collections.unmodifiableList( toTableList(client, result.getTableNames())), result); this.client = client; this.spec = spec; this.request = request; this.index = index; Integer max = spec.getMaxResultSize(); if (max != null && (index + result.getTableNames().size()) > max) { this.lastEvaluatedKey = null; } else { this.lastEvaluatedKey = result.getLastEvaluatedTableName(); } }
@Override public Page<Table, ListTablesResult> firstPage() { ListTablesRequest request = spec.getRequest(); request.setExclusiveStartTableName(startKey); request.setLimit(InternalUtils.minimum( spec.getMaxResultSize(), spec.getMaxPageSize())); ListTablesResult result = client.listTables(request); setLastLowLevelResult(result); return new ListTablesPage(client, spec, request, 0, result); }
@Override public Integer getMaxResultSize() { return spec.getMaxResultSize(); } }
@Override public boolean hasNextPage() { if (lastEvaluatedKey == null) return false; Integer max = spec.getMaxResultSize(); if (max == null) return true; return nextRequestLimit(max.intValue()) > 0; }
public ListTablesPage( AmazonDynamoDB client, ListTablesSpec spec, ListTablesRequest request, int index, ListTablesResult result) { super(Collections.unmodifiableList( toTableList(client, result.getTableNames())), result); this.client = client; this.spec = spec; this.request = request; this.index = index; Integer max = spec.getMaxResultSize(); if (max != null && (index + result.getTableNames().size()) > max) { this.lastEvaluatedKey = null; } else { this.lastEvaluatedKey = result.getLastEvaluatedTableName(); } }
@Override public Page<Table,ListTablesResult> nextPage() { if (lastEvaluatedKey == null) { throw new NoSuchElementException("No more pages"); } final Integer max = spec.getMaxResultSize(); if (max != null) { int nextLimit = nextRequestLimit(max.intValue()); if (nextLimit == 0) throw new NoSuchElementException("No more pages"); request.setLimit(nextLimit); } request.setExclusiveStartTableName(lastEvaluatedKey); ListTablesResult result = client.listTables(request); final int nextIndex = index + this.size(); return new ListTablesPage(client, spec, request, nextIndex, result); }
@Override public Page<Table, ListTablesResult> firstPage() { ListTablesRequest request = spec.getRequest(); request.setExclusiveStartTableName(startKey); request.setLimit(InternalUtils.minimum( spec.getMaxResultSize(), spec.getMaxPageSize())); ListTablesResult result = client.listTables(request); setLastLowLevelResult(result); return new ListTablesPage(client, spec, request, 0, result); }