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

com.github.davidmoten.odata.client.NonEntityRequestOptions Maven / Gradle / Ivy

The newest version!
package com.github.davidmoten.odata.client;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

public final class NonEntityRequestOptions implements RequestOptions {

    private final List requestHeaders;
    private final Optional select;
    private final Optional expand;
    private final boolean useCaches;
    private final Optional connectTimeoutMs;
    private final Optional readTimeoutMs;

    public NonEntityRequestOptions(List requestHeaders, Optional select,
            Optional expand, boolean useCaches, Optional connectTimeoutMs, //
            Optional readTimeoutMs) {
        this.requestHeaders = requestHeaders;
        this.select = select;
        this.expand = expand;
        this.useCaches = useCaches;
        this.connectTimeoutMs = connectTimeoutMs;
        this.readTimeoutMs = readTimeoutMs;
    }

    public Optional getSelect() {
        return select;
    }

    public Optional getExpand() {
        return expand;
    }

    public boolean useCaches() {
        return useCaches;
    }

    @Override
    public List getRequestHeaders() {
        // TODO include useCaches as header?
        return requestHeaders;
    }

    @Override
    public Map getQueries() {
        Map map = new HashMap<>();
        select.ifPresent(x -> map.put("$select", x));
        expand.ifPresent(x -> map.put("$expand", x));
        return map;
    }

    @Override
    public Optional getUrlOverride() {
        return Optional.empty();
    }

	@Override
	public Optional requestConnectTimeoutMs() {
		return connectTimeoutMs;
	}

	@Override
	public Optional requestReadTimeoutMs() {
		return readTimeoutMs;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy