
com.github.davidmoten.odata.client.EntityRequestOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of odata-client-runtime Show documentation
Show all versions of odata-client-runtime Show documentation
OData client runtime for use with generated code
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 EntityRequestOptions implements RequestOptions {
private final List requestHeaders;
private final Map queries;
private final Optional select;
private final Optional expand;
private final boolean useCaches;
private final Optional connectTimeoutMs;
private final Optional readTimeoutMs;
public EntityRequestOptions(List requestHeaders, Optional select,
Optional expand, boolean useCaches, Optional connectTimeoutMs, //
Optional readTimeoutMs, Map queries) {
this.requestHeaders = requestHeaders;
this.select = select;
this.expand = expand;
this.useCaches = useCaches;
this.connectTimeoutMs = connectTimeoutMs;
this.readTimeoutMs = readTimeoutMs;
this.queries = queries;
}
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));
map.putAll(queries);
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