Java Number Format formatFromCurrentPageIndex(int nbItemsPerPage, int totalNumberOfItems, int indexOfCurrentPage)

Here you can find the source of formatFromCurrentPageIndex(int nbItemsPerPage, int totalNumberOfItems, int indexOfCurrentPage)

Description

Centralizes the formatting of a pagination context label.

License

Open Source License

Parameter

Parameter Description
nbItemsPerPage the number of items displayed in a page.
totalNumberOfItems the total number of items that can be displayed.
indexOfCurrentPage the index of the current page.

Declaration

public static String formatFromCurrentPageIndex(int nbItemsPerPage, int totalNumberOfItems,
        int indexOfCurrentPage) 

Method Source Code

//package com.java2s;
/*// w w  w.  j av a2 s.  com
 * Copyright (C) 2000 - 2014 Silverpeas
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * As a special exception to the terms and conditions of version 3.0 of
 * the GPL, you may redistribute this Program in connection with Free/Libre
 * Open Source Software ("FLOSS") applications as described in Silverpeas's
 * FLOSS exception. You should have recieved a copy of the text describing
 * the FLOSS exception, and it is also available here:
 * "http://www.silverpeas.org/docs/core/legal/floss_exception.html"
 *
 * This program 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Centralizes the formatting of a pagination context label.
     * @param nbItemsPerPage the number of items displayed in a page.
     * @param totalNumberOfItems the total number of items that can be displayed.
     * @param indexOfCurrentPage the index of the current page.
     * @return
     */
    public static String formatFromCurrentPageIndex(int nbItemsPerPage, int totalNumberOfItems,
            int indexOfCurrentPage) {
        return formatFromFirstIndexOfItem(nbItemsPerPage, totalNumberOfItems,
                (nbItemsPerPage * indexOfCurrentPage));
    }

    /**
     * Centralizes the formatting of a pagniation context label.
     * @param nbItemsPerPage the number of items displayed in a page.
     * @param totalNumberOfItems the total number of items that can be displayed.
     * @param firstItemIndexOfCurrentPage the index in the list of items of the first item to display
     * in the current page.
     * @return
     */
    public static String formatFromFirstIndexOfItem(int nbItemsPerPage, int totalNumberOfItems,
            int firstItemIndexOfCurrentPage) {
        StringBuilder result = new StringBuilder();
        if (totalNumberOfItems <= firstItemIndexOfCurrentPage || totalNumberOfItems <= nbItemsPerPage) {
            result.append(totalNumberOfItems).append(" ");
        } else {
            int end = firstItemIndexOfCurrentPage + nbItemsPerPage;
            if (end > totalNumberOfItems) {
                end = totalNumberOfItems;
            }
            result.append(firstItemIndexOfCurrentPage + 1).append(" - ").append(end).append(" / ")
                    .append(totalNumberOfItems).append(" ");
        }
        return result.toString();
    }
}

Related

  1. formatBytesHumanReadable(float number)
  2. formatCardNumber(String cardNumber)
  3. formatCCNumber(String f, String s)
  4. formatCsv(final Number number)
  5. formatFolioNumber(Integer folioNum, String folioMod)
  6. formatInt(String number)
  7. FormatIntNoWithZero(int pNumber, int tolLen)
  8. formatLineNumber(String lineNumber)
  9. formatMs(long number)