Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   *
   * Licensed under the Apache License, Version 2.0 (the "License").
   * You may not use this file except in compliance with the License.
   * A copy of the License is located at
   *
   *  http://aws.amazon.com/apache2.0
   *
  * or in the "license" file accompanying this file. This file is distributed
  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  * express or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
 package com.amazonaws.services.dynamodbv2.document.internal;
 
 import java.util.List;
 
 
 class ListTablesPage extends Page<TableListTablesResult> {
     private final AmazonDynamoDB client;
     private final ListTablesSpec spec;
     private final ListTablesRequest request;
     private final int index;
     private final String lastEvaluatedKey;
 
     public ListTablesPage(
             AmazonDynamoDB client,
             ListTablesSpec spec,
             ListTablesRequest request,
             int index,
             ListTablesResult result) {
         super(Collections.unmodifiableList(
                 toTableList(clientresult.getTableNames())),
             result);
         this. = client;
         this. = spec;
         this. = request;
         this. = index;
         Integer max = spec.getMaxResultSize();
         if (max != null && (index + result.getTableNames().size()) > max) {
             this. = null;
         } else {
             this. = result.getLastEvaluatedTableName();
         }
     }
 
     @Override
     public boolean hasNextPage() {
         if ( == null)
             return false;
         Integer max = .getMaxResultSize();
         if (max == null)
             return true;
         return nextRequestLimit(max.intValue()) > 0;
     }
 
     private int nextRequestLimit(int max) {
         int nextIndex =  + this.size();
         return InternalUtils.minimum(
                 max - nextIndex,
                 .getMaxPageSize());
     }
 
     @Override
     public Page<Table,ListTablesResultnextPage() {
         if ( == null) {
             throw new NoSuchElementException("No more pages");
         }
         final Integer max = .getMaxResultSize();
         if (max != null) {
             int nextLimit = nextRequestLimit(max.intValue());
             if (nextLimit == 0)
                 throw new NoSuchElementException("No more pages");
             .setLimit(nextLimit);
         }
         ListTablesResult result = .listTables();
         final int nextIndex =  + this.size();
         return new ListTablesPage(nextIndexresult);
     }
 
     private static List<TabletoTableList(AmazonDynamoDB clientList<StringtableNames) {
         if (tableNames == null)
             return null;
         List<Tableresult = new ArrayList<Table>(tableNames.size());
         for (String tableNametableNames)
             result.add(new Table(clienttableName));
         return result;
     }
New to GrepCode? Check out our FAQ X