/*
* Copyright 2011 cruxframework.org.
*
* 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 org.cruxframework.crux.core.client.dataprovider;
import org.cruxframework.crux.core.client.event.BaseEvent;
/**
* Event fired when a page on {@link PagedDataProvider} is loaded
* @author Thiago da Rosa de Bustamante
*/
public class PageLoadedEvent extends BaseEvent<DataProvider<?>>
{
private final int endRecord;
private final int startRecord;
private final int previousPage;
private final int currentPage;
protected PageLoadedEvent(DataProvider<?> source, int startRecord, int endRecord, int previousPage, int currentPage)
{
super(source);
this.startRecord = startRecord;
this.endRecord = endRecord;
this.previousPage = previousPage;
this.currentPage = currentPage;
}
/**
* Retrieve the page last record position
* @return last page record
*/
public int getEndRecord()
{
return endRecord;
}
/**
* Retrieve the page first record position
* @return first page record
*/
public int getStartRecord()
{
return startRecord;
}
/**
* Retrieve the previous page (the page before the pagination event occurs).
* @return previous page
*/
public int getPreviousPage()
{
return previousPage;
}
/**
* Retrieve the current page (the page after the pagination event occurs).
* @return current page
*/
public int getCurrentPage()
{
return currentPage;
}
}