/* 
 * 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.Double;
import java.lang.String;
import java.util.Optional;

public class GetFileHashRequestBuilder {

    private String url;
    private Optional<Double> type = Optional.empty();
    private final SDKMethodInterfaces.MethodCallGetFileHash sdk;

    public GetFileHashRequestBuilder(SDKMethodInterfaces.MethodCallGetFileHash sdk) {
        this.sdk = sdk;
    }

    public GetFileHashRequestBuilder url(String url) {
        Utils.checkNotNull(url, "url");
        this.url = url;
        return this;
    }
                
    public GetFileHashRequestBuilder type(double type) {
        Utils.checkNotNull(type, "type");
        this.type = Optional.of(type);
        return this;
    }

    public GetFileHashRequestBuilder type(Optional<Double> type) {
        Utils.checkNotNull(type, "type");
        this.type = type;
        return this;
    }

    public GetFileHashResponse call() throws Exception {

        return sdk.getFileHash(
            url,
            type);
    }
}
