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

com.github.davidmoten.odata.client.CollectionRequestOptions 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 CollectionRequestOptions implements RequestOptions {

    private final List requestHeaders;
    private final Optional search;
    private final Optional filter;
    private final Optional orderBy;
    private final Optional skip;
    private final Optional top;
    private final Optional select;
    private final Optional expand;
    private final Optional urlOverride;

    public CollectionRequestOptions(List requestHeaders, Optional search,
            Optional filter, Optional orderBy, Optional skip,
            Optional top, Optional select, Optional expand, Optional urlOverride) {
        this.requestHeaders = requestHeaders;
        this.search = search;
        this.filter = filter;
        this.orderBy = orderBy;
        this.skip = skip;
        this.top = top;
        this.select = select;
        this.expand = expand;
        this.urlOverride = urlOverride;
    }

    @Override
    public List getRequestHeaders() {
        return requestHeaders;
    }

    @Override
    public Map getQueries() {
        Map map = new HashMap<>();
        search.ifPresent(x -> map.put("$search", x));
        filter.ifPresent(x -> map.put("$filter", x));
        orderBy.ifPresent(x -> map.put("$orderBy", x));
        skip.ifPresent(x -> map.put("$skip", String.valueOf(x)));
        top.ifPresent(x -> map.put("$top", String.valueOf(x)));
        select.ifPresent(x -> map.put("$select", x));
        expand.ifPresent(x -> map.put("$expand", x));
        return map;
    }

    @Override
    public Optional getUrlOverride() {
        return urlOverride;
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy