com.apollographql.apollo3.runtime.java.internal.DefaultApolloCall Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apollo-runtime-java Show documentation
Show all versions of apollo-runtime-java Show documentation
Apollo GraphQL runtime for Java
package com.apollographql.apollo3.runtime.java.internal;
import com.apollographql.apollo3.api.ApolloRequest;
import com.apollographql.apollo3.api.ExecutionContext;
import com.apollographql.apollo3.api.Operation;
import com.apollographql.apollo3.api.http.HttpHeader;
import com.apollographql.apollo3.api.http.HttpMethod;
import com.apollographql.apollo3.runtime.java.ApolloCall;
import com.apollographql.apollo3.runtime.java.ApolloCallback;
import com.apollographql.apollo3.runtime.java.ApolloClient;
import com.apollographql.apollo3.runtime.java.ApolloDisposable;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
public class DefaultApolloCall implements ApolloCall {
private final ApolloClient apolloClient;
private final Operation operation;
private ExecutionContext executionContext = ExecutionContext.Empty;
private HttpMethod httpMethod;
private List httpHeaders;
private Boolean sendApqExtensions;
private Boolean sendDocument;
private Boolean enableAutoPersistedQueries;
private Boolean canBeBatched;
public DefaultApolloCall(ApolloClient apolloClient, Operation operation) {
this.apolloClient = apolloClient;
this.operation = operation;
}
@Override public ApolloDisposable enqueue(@NotNull ApolloCallback callback) {
ApolloRequest apolloRequest = new ApolloRequest.Builder<>(operation)
.executionContext(executionContext)
.httpMethod(httpMethod)
.httpHeaders(httpHeaders)
.sendApqExtensions(sendApqExtensions)
.sendDocument(sendDocument)
.enableAutoPersistedQueries(enableAutoPersistedQueries)
.canBeBatched(canBeBatched)
.build();
return apolloClient.execute(apolloRequest, callback);
}
@NotNull @Override public ExecutionContext getExecutionContext() {
return executionContext;
}
@Nullable @Override public HttpMethod getHttpMethod() {
return httpMethod;
}
@Nullable @Override public List getHttpHeaders() {
return httpHeaders;
}
@Nullable @Override public Boolean getSendApqExtensions() {
return sendApqExtensions;
}
@Nullable @Override public Boolean getSendDocument() {
return sendDocument;
}
@Nullable @Override public Boolean getEnableAutoPersistedQueries() {
return enableAutoPersistedQueries;
}
@Nullable @Override public Boolean getCanBeBatched() {
return canBeBatched;
}
@Override public ApolloCall addExecutionContext(@NotNull ExecutionContext executionContext) {
this.executionContext = this.executionContext.plus(executionContext);
return this;
}
@Override public ApolloCall httpMethod(@Nullable HttpMethod httpMethod) {
this.httpMethod = httpMethod;
return this;
}
@Override public ApolloCall httpHeaders(@Nullable List list) {
this.httpHeaders = list;
return this;
}
@Override public ApolloCall addHttpHeader(@NotNull String name, @NotNull String value) {
if (this.httpHeaders == null) {
this.httpHeaders = new ArrayList<>();
}
this.httpHeaders.add(new HttpHeader(name, value));
return this;
}
@Override public ApolloCall sendApqExtensions(@Nullable Boolean sendApqExtensions) {
this.sendApqExtensions = sendApqExtensions;
return this;
}
@Override public ApolloCall sendDocument(@Nullable Boolean sendDocument) {
this.sendDocument = sendDocument;
return this;
}
@Override public ApolloCall enableAutoPersistedQueries(@Nullable Boolean enableAutoPersistedQueries) {
this.enableAutoPersistedQueries = enableAutoPersistedQueries;
return this;
}
@Override public ApolloCall canBeBatched(@Nullable Boolean canBeBatched) {
this.canBeBatched = canBeBatched;
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy