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

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

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 EntityRequestOptions implements RequestOptions {

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

    public EntityRequestOptions(List requestHeaders, Optional select,
            Optional expand, boolean useCaches) {
        this.requestHeaders = requestHeaders;
        this.select = select;
        this.expand = expand;
        this.useCaches = useCaches;
    }

    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();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy