Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 Objectos, Fábrica de Software LTDA.
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License. You may obtain a copy of
   * the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License 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 br.com.objectos.way.relational;
 
 import java.util.List;

Author(s):
marcio.endo@objectos.com.br (Marcio Endo)
 
 public class SimplePage implements Page {
 
   private int index = 0;
 
   private int offset = 0;
 
   private int length;
 
   private int number;
 
   public SimplePage() {
     this. = 25;
   }
 
   public static Builder build() {
     return new Builder();
   }
 
   @Override
   public int getFirstIndex() {
     return firstIndexOf();
   }
 
   @Override
   public int getLength() {
     return ;
   }
 
   @Override
   public int getNumber() {
     return ;
   }
 
   @Override
   public void next() {
     ++;
     ++;
   }
 
   @Override
   public void previous() {
     int firstIndex = firstIndexOf( - 1);
     if (firstIndex >= 0) {
       --;
       --;
     } else {
        = 0;
        = 0;
        = 0;
     }
   }
 
   @Override
   public <T> List<T> limit(List<T> rows) {
     int start = getFirstIndex();
 
     if (start > rows.size()) {
       start = rows.size();
     }
 
     int end = start + ;
     if (end > rows.size()) {
       end = rows.size();
     }
 
     return rows.subList(startend);
   }
 
   private int firstIndexOf(int index) {
     return index *  + ;
   }
 
   public static class Builder {
 
     private final SimplePage page = new SimplePage();
 
     public SimplePage get() {
      return ;
    }
    public Builder startAt(int index) {
      . = index;
      setPageNumber();
      return this;
    }
    public Builder withLengthOf(int length) {
      . = length;
      setPageNumber();
      return this;
    }
    private void setPageNumber() {
      . = . / .;
    }
  }
New to GrepCode? Check out our FAQ X