//$Id: HotelSearchingAction.java 5848 2007-07-17 18:43:56Z myoungstrom $ package org.jboss.seam.example.spring; import java.io.Serializable; import java.util.List; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.datamodel.DataModel; public class HotelSearchingAction implements Serializable { @In("#{bookingService}") private BookingService bookingService; private String searchString; private int pageSize; private int page; @DataModel private List<Hotel> hotels; public void find() { page = 0; queryHotels(); } public void nextPage() { page++; queryHotels(); } private void queryHotels() { String searchPattern = searchString==null ? "%" : '%' + searchString.toLowerCase().replace('*', '%') + '%'; hotels = bookingService.findHotels(searchPattern, page * pageSize, pageSize); } public boolean isNextPageAvailable() { return hotels!=null && hotels.size()==pageSize; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public String getSearchString() { return searchString; } public void setSearchString(String searchString) { this.searchString = searchString; } }