/**
 * Licensed under the Artistic License; you may not use this file
 * except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://displaytag.sourceforge.net/license.html
 *
 * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */
package org.displaytag.pagination;

import java.util.List;

import org.displaytag.properties.SortOrderEnum;


/**
 * Interface describing an externally sorted and paginated list.
 * @author JBN
 */
public interface PaginatedList
{

    /**
     * Returns the current partial list
     * @return the current partial list
     */
    public List getList();

    /**
     * Returns the page number of the partial list (starts from 1)
     * @return the page number of the partial list
     */
    public int getPageNumber();

    /**
     * Returns the number of objects per page. Unless this page is the last one the partial list should thus have a size
     * equal to the result of this method
     * @return the number of objects per page
     */
    public int getObjectsPerPage();

    /**
     * Returns the size of the full list
     * @return the size of the full list
     */
    public int getFullListSize();

    /**
     * Returns the sort criterion used to externally sort the full list
     * @return the sort criterion used to externally sort the full list
     */
    public String getSortCriterion();

    /**
     * Returns the sort direction used to externally sort the full list
     * @return the sort direction used to externally sort the full list
     */
    public SortOrderEnum getSortDirection();

    /**
     * Returns an ID for the search used to get the list. It may be null. Such an ID can be necessary if the full list
     * is cached, in a way or another (in the session, in the business tier, or anywhere else), to be able to retrieve
     * the full list from the cache
     * @return the search ID
     */
    public String getSearchId();
}
/**
 * Licensed under the Artistic License; you may not use this file
 * except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://displaytag.sourceforge.net/license.html
 *
 * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */
package org.displaytag.pagination;

import java.util.List;

import org.displaytag.properties.SortOrderEnum;


/**
 * Interface describing an externally sorted and paginated list.
 * @author JBN
 */
public interface PaginatedList
{

    /**
     * Returns the current partial list
     * @return the current partial list
     */
    List getList();

    /**
     * Returns the page number of the partial list (starts from 1)
     * @return the page number of the partial list
     */
    int getPageNumber();

    /**
     * Returns the number of objects per page. Unless this page is the last one the partial list should thus have a size
     * equal to the result of this method
     * @return the number of objects per page
     */
    int getObjectsPerPage();

    /**
     * Returns the size of the full list
     * @return the size of the full list
     */
    int getFullListSize();

    /**
     * Returns the sort criterion used to externally sort the full list
     * @return the sort criterion used to externally sort the full list
     */
    String getSortCriterion();

    /**
     * Returns the sort direction used to externally sort the full list
     * @return the sort direction used to externally sort the full list
     */
    SortOrderEnum getSortDirection();

    /**
     * Returns an ID for the search used to get the list. It may be null. Such an ID can be necessary if the full list
     * is cached, in a way or another (in the session, in the business tier, or anywhere else), to be able to retrieve
     * the full list from the cache
     * @return the search ID
     */
    String getSearchId();
}
remove useless "public" declaration