All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adobe.pdfservices.operation.pdfjobs.params.splitpdf.SplitPDFParams Maven / Gradle / Ivy

Go to download

Adobe PDF Services SDK allows you to access RESTful APIs to create, convert, and manipulate PDFs within your applications. Older versions can be found under groupId: com.adobe.documentservices, artifactId: pdftools-sdk

There is a newer version: 4.2.0
Show newest version
/*
 * Copyright 2024 Adobe
 * All Rights Reserved.
 *
 * NOTICE: Adobe permits you to use, modify, and distribute this file in
 * accordance with the terms of the Adobe license agreement accompanying
 * it. If you have received this file from a source other than Adobe,
 * then your use, modification, or distribution of it requires the prior
 * written permission of Adobe.
 */

package com.adobe.pdfservices.operation.pdfjobs.params.splitpdf;

import com.adobe.pdfservices.operation.internal.constants.CustomErrorMessages;
import com.adobe.pdfservices.operation.internal.util.ObjectUtil;
import com.adobe.pdfservices.operation.internal.util.ValidationUtil;
import com.adobe.pdfservices.operation.pdfjobs.jobs.SplitPDFJob;
import com.adobe.pdfservices.operation.pdfjobs.params.PDFServicesJobParams;
import com.adobe.pdfservices.operation.pdfjobs.params.PageRanges;

/**
 * Parameters for splitting a pdf using {@link SplitPDFJob}.
 */
public class SplitPDFParams implements PDFServicesJobParams {

    private PageRanges pageRanges;

    private Integer pageCount;

    private Integer fileCount;

    /**
     * Creates an instance of {@link SplitPDFParams} to be used in {@link SplitPDFJob}.
     */
    public SplitPDFParams() {
    }

    /**
     * Sets the {@link PageRanges} to be used for splitting pages.
     *
     * @param pageRanges the {@link PageRanges} to be used for splitting pages; can not be null.
     */
    public void setPageRanges(PageRanges pageRanges) {
        ObjectUtil.requireNonNull(pageRanges, String.format(CustomErrorMessages.GENERIC_CAN_NOT_BE_NULL, "Page " +
                "Ranges"));
        this.pageRanges = pageRanges;
        ValidationUtil.validateSplitPDFOperationParams(this.pageRanges, this.pageCount, this.fileCount);
    }

    /**
     * Sets the page count to be used for splitting pages.
     *
     * @param pageCount the page count to be used for splitting pages; can not be null.
     */
    public void setPageCount(Integer pageCount) {
        ObjectUtil.requireNonNull(pageCount, String.format(CustomErrorMessages.GENERIC_CAN_NOT_BE_NULL, "Page Count"));
        this.pageCount = pageCount;
        ValidationUtil.validateSplitPDFOperationParams(this.pageRanges, this.pageCount, this.fileCount);
    }

    /**
     * Sets the file count to be used for splitting pages.
     *
     * @param fileCount the file count to be used for splitting pages; can not be null.
     */
    public void setFileCount(Integer fileCount) {
        ObjectUtil.requireNonNull(fileCount, String.format(CustomErrorMessages.GENERIC_CAN_NOT_BE_NULL, "File Count"));
        this.fileCount = fileCount;
        ValidationUtil.validateSplitPDFOperationParams(this.pageRanges, this.pageCount, this.fileCount);
    }

    /**
     * Returns the {@link PageRanges} to be used for splitting pages.
     *
     * @return the {@link PageRanges} to be used for splitting pages
     */
    public PageRanges getPageRanges() {
        return pageRanges;
    }

    /**
     * Returns the page count to be used for splitting pages.
     *
     * @return the page count to be used for splitting pages
     */
    public Integer getPageCount() {
        return pageCount;
    }

    /**
     * Returns the file count to be used for splitting pages.
     *
     * @return the file count to be used for splitting pages
     */
    public Integer getFileCount() {
        return fileCount;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy