Package org.ajax4jsf.tests

Source Code of org.ajax4jsf.tests.MockDataModel

/**
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
*/

package org.ajax4jsf.tests;

import java.io.IOException;

import javax.faces.context.FacesContext;

import org.ajax4jsf.model.DataVisitor;
import org.ajax4jsf.model.ExtendedDataModel;
import org.ajax4jsf.model.Range;
import org.ajax4jsf.model.SequenceRange;

/**
* @author shura
*
*/
public class MockDataModel extends ExtendedDataModel {
 
  public static final int ROWS = 10;
 
  private int rowIndex = 0;
 
  private int minRow = 0;
 
  private int maxRow = ROWS;

  private Object wrappedData;
  /**
   * @return the maxRow
   */
  public int getMaxRow() {
    return maxRow;
  }

  /**
   * @param maxRow the maxRow to set
   */
  public void setMaxRow(int maxRow) {
    this.maxRow = maxRow;
  }

  /**
   * @return the minRow
   */
  public int getMinRow() {
    return minRow;
  }

  /**
   * @param minRow the minRow to set
   */
  public void setMinRow(int minRow) {
    this.minRow = minRow;
  }

 
  public void walk(FacesContext context, DataVisitor visitor, Range range, Object argument) throws IOException {
    int first=0;
    int count=ROWS;
    if (range instanceof MockRange) {     
     MockRange mockRange = (MockRange) range;
     count = mockRange.getCount();
    } else if (range instanceof SequenceRange) {
      SequenceRange seqRange = (SequenceRange) range;
      first = seqRange.getFirstRow();
      int rows = seqRange.getRows();
      if(rows>0){
        count = rows+first;
      }
    }
    for(int row = first; row < count && row < ROWS;row++){
      visitor.process(context, new Integer(row), argument);
    }
   
  }

  /* (non-Javadoc)
   * @see org.ajax4jsf.ajax.repeat.ExtendedDataModel#getRowKey()
   */
  public Object getRowKey() {
    // TODO Auto-generated method stub
    return rowIndex<0?null:new Integer(rowIndex);
  }

  /* (non-Javadoc)
   * @see org.ajax4jsf.ajax.repeat.ExtendedDataModel#setRowKey(java.lang.Object)
   */
  public void setRowKey(Object key) {
    if(null == key){
      rowIndex = -1;
    } else {
      rowIndex = ((Integer) key).intValue();
    }
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#getRowCount()
   */
  public int getRowCount() {
    // TODO Auto-generated method stub
    return getMaxRow();
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#getRowData()
   */
  public Object getRowData() {
    // TODO Auto-generated method stub
    return isRowAvailable()?String.valueOf(rowIndex):null;
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#getRowIndex()
   */
  public int getRowIndex() {
    // TODO Auto-generated method stub
    return rowIndex;
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#getWrappedData()
   */
  public Object getWrappedData() {
    // TODO Auto-generated method stub
    return wrappedData;
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#isRowAvailable()
   */
  public boolean isRowAvailable() {
    // TODO Auto-generated method stub
    return rowIndex>=getMinRow() && rowIndex<getMaxRow();
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#setRowIndex(int)
   */
  public void setRowIndex(int rowIndex) {
    this.rowIndex = rowIndex;
  }

  /* (non-Javadoc)
   * @see javax.faces.model.DataModel#setWrappedData(java.lang.Object)
   */
  public void setWrappedData(Object data) {
    wrappedData = data;
  }

}
TOP

Related Classes of org.ajax4jsf.tests.MockDataModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.