Class PageRange


  • public class PageRange
    extends java.lang.Object
    Class representing a page range, for instance a page range can contain pages 5, then pages 10 through 15, then page 18, then page 21 and so on.
    • Field Detail

      • SEQUENCE_PATTERN

        private static final java.util.regex.Pattern SEQUENCE_PATTERN
      • SINGLE_PAGE_PATTERN

        private static final java.util.regex.Pattern SINGLE_PAGE_PATTERN
    • Constructor Detail

      • PageRange

        public PageRange()
        Constructs an empty PageRange instance.
      • PageRange

        public PageRange​(java.lang.String pageRange)
        Constructs a PageRange instance from a range in a string form, for example: "1-12, 15, 45-66". More advanced forms are also available, for example: - "3-" to indicate from page 3 to the last page - "odd" for all odd pages - "even" for all even pages - "3- & odd" for all odd pages starting from page 3 A complete example for pages 1 to 5, page 8 then odd pages starting from page 9: "1-5, 8, odd & 9-".
        Parameters:
        pageRange - a String of page ranges
    • Method Detail

      • addPageRangePart

        public PageRange addPageRangePart​(PageRange.IPageRangePart part)
        Adds any page range part to this page range. Users may define and plug in custom implementations for behavior not found in the standard library.
        Parameters:
        part - a custom implementation of PageRange.IPageRangePart
        Returns:
        this range, already modified
      • addPageSequence

        public PageRange addPageSequence​(int startPageNumber,
                                         int endPageNumber)
        Adds a page sequence to the range.
        Parameters:
        startPageNumber - the starting page number of the sequence
        endPageNumber - the finishing page number of the sequence
        Returns:
        this range, already modified
      • addSinglePage

        public PageRange addSinglePage​(int pageNumber)
        Adds a single page to the range.
        Parameters:
        pageNumber - the page number to add
        Returns:
        this range, already modified
      • getQualifyingPageNums

        public java.util.List<java.lang.Integer> getQualifyingPageNums​(int nbPages)
        Gets the list of pages that have been added to the range so far.
        Parameters:
        nbPages - number of pages of the document to get the pages, to list only the pages eligible for this document.
        Returns:
        the list containing page numbers added to the range matching this document
      • isPageInRange

        public boolean isPageInRange​(int pageNumber)
        Checks if a given page is present in the range built so far.
        Parameters:
        pageNumber - the page number to check
        Returns:
        true if the page is present in this range, false otherwise
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object