/* 
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

package dev.plexapi.sdk.models.operations;

import dev.plexapi.sdk.utils.Utils;
import java.lang.Integer;
import java.util.Optional;

public class GetRefreshLibraryMetadataRequestBuilder {

    private Optional<? extends Force> force = Optional.empty();
    private Integer sectionKey;
    private final SDKMethodInterfaces.MethodCallGetRefreshLibraryMetadata sdk;

    public GetRefreshLibraryMetadataRequestBuilder(SDKMethodInterfaces.MethodCallGetRefreshLibraryMetadata sdk) {
        this.sdk = sdk;
    }
                
    public GetRefreshLibraryMetadataRequestBuilder force(Force force) {
        Utils.checkNotNull(force, "force");
        this.force = Optional.of(force);
        return this;
    }

    public GetRefreshLibraryMetadataRequestBuilder force(Optional<? extends Force> force) {
        Utils.checkNotNull(force, "force");
        this.force = force;
        return this;
    }

    public GetRefreshLibraryMetadataRequestBuilder sectionKey(int sectionKey) {
        Utils.checkNotNull(sectionKey, "sectionKey");
        this.sectionKey = sectionKey;
        return this;
    }

    public GetRefreshLibraryMetadataResponse call() throws Exception {

        return sdk.getRefreshLibraryMetadata(
            force,
            sectionKey);
    }
}
