Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Copyright 2005 Sun Microsystems, Inc.  All rights reserved.  You may not modify, use, reproduce, or distribute this software except in compliance with the terms of the License at: 
   http://developer.sun.com/berkeley_license.html
   $Id: ResultSetBean.java,v 1.1 2006/11/12 05:54:01 edburns Exp $ */
  
  package com.sun.jmaki.scriptaculous;
  
  import  javax.faces.component.UIComponent;
  import  javax.faces.component.UIData;
  import  javax.faces.context.FacesContext;
 import  javax.faces.event.ActionEvent;
 
 import java.util.List;

Backing file bean for ResultSet com.sun.javaee.blueprints.simpleuicomponents.onents.

 
 
 public class ResultSetBean {
 
     private List list = null;
 
 
     public ResultSetBean() {
     }
 
 
     public List getList() {
         // Construct a preconfigured customer list lazily.
         if ( == null) {
              = new ArrayList();
             for (int i = 0; i < 1000; i++) {
                 .add(new CustomerBean(Integer.toString(i),
                                           "name_" + Integer.toString(i),
                                           "symbol_" + Integer.toString(i), i));
             }
         }
         return ;
     }
 
 
     public void setList(List newlist) {
         this. = newlist;
     }
 
     // -------------------------------------------------------- Bound Components
 
    

The UIData component representing the entire table.

 
     private UIData data = null;
 
 
     public UIData getData() {
         return ;
     }
 
 
     public void setData(UIData data) {
         this. = data;
     }
 
 
     // ---------------------------------------------------------- Action Methods
 

    

Scroll directly to the first page.

 
     public String first() {
         scroll(0);
         return (null);
 
     }


    

Scroll directly to the last page.

 
     public String last() {
         scroll(.getRowCount() - 1);
         return (null);
 
     }


    

Scroll forwards to the next page.

 
     public String next() {
         int first = .getFirst();
         scroll(first + .getRows());
         return (null);
 
     }


    

Scroll backwards to the previous page.

    public String previous() {
        int first = .getFirst();
        scroll(first - .getRows());
        return (null);
    }


    

Scroll to the page that contains the specified row number.

Parameters:
row Desired row number
    public void scroll(int row) {
        int rows = .getRows();
        if (rows < 1) {
            return// Showing entire table already
        }
        if (row < 0) {
            .setFirst(0);
        } else if (row >= .getRowCount()) {
            .setFirst(.getRowCount() - 1);
        } else {
            .setFirst(row - (row % rows));
        }
    }


    
Handles the ActionEvent generated as a result of clicking on a link that points a particular page in the result-set.
    public void processScrollEvent(ActionEvent event) {
        int currentRow = 1;
        FacesContext context = FacesContext.getCurrentInstance();
        UIComponent component = event.getComponent();
        Integer curRow = (Integercomponent.getAttributes().get("currentRow");
        if (curRow != null) {
            currentRow = curRow.intValue();
        }
        // scroll to the appropriate page in the ResultSet.
        scroll(currentRow);
    }
New to GrepCode? Check out our FAQ X