
clarifai2.api.request.input.PatchInputRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Clarifai Java API Client
The newest version!
package clarifai2.api.request.input;
import clarifai2.internal.grpc.api.ConceptOuterClass;
import clarifai2.internal.grpc.api.DataOuterClass;
import clarifai2.internal.grpc.api.InputOuterClass;
import clarifai2.api.BaseClarifaiClient;
import clarifai2.api.request.ClarifaiRequest;
import clarifai2.dto.input.ClarifaiInput;
import clarifai2.dto.prediction.Concept;
import com.google.common.util.concurrent.ListenableFuture;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
public final class PatchInputRequest extends ClarifaiRequest.Builder {
@NotNull private final String action;
@NotNull private final String inputID;
@NotNull private final List concepts = new ArrayList<>();
public PatchInputRequest(@NotNull BaseClarifaiClient client, @NotNull String inputID, @NotNull String action) {
super(client);
this.inputID = inputID;
this.action = action;
}
@NotNull public PatchInputRequest plus(@NotNull Concept... concepts) {
return plus(Arrays.asList(concepts));
}
@NotNull public PatchInputRequest plus(@NotNull Collection concepts) {
this.concepts.addAll(concepts);
return this;
}
@NotNull @Override protected String method() {
return "PATCH";
}
@NotNull @Override protected String subUrl() {
return "v2/inputs";
}
@NotNull @Override protected DeserializedRequest request() {
return new DeserializedRequest() {
@NotNull @Override public ListenableFuture httpRequestGrpc() {
DataOuterClass.Data.Builder dataBuilder = DataOuterClass.Data.newBuilder();
if (!concepts.isEmpty()) {
List conceptsGrpc = new ArrayList<>();
for (Concept concept : concepts) {
conceptsGrpc.add(concept.serialize());
}
dataBuilder.addAllConcepts(conceptsGrpc);
}
return stub().patchInputs(
InputOuterClass.PatchInputsRequest.newBuilder()
.setAction(action)
.addInputs(InputOuterClass.Input.newBuilder().setId(inputID).setData(dataBuilder))
.build()
);
}
@NotNull @Override public ClarifaiInput unmarshalerGrpc(Object returnedObject) {
InputOuterClass.MultiInputResponse inputsResponse = (InputOuterClass.MultiInputResponse) returnedObject;
return ClarifaiInput.deserialize(inputsResponse.getInputs(0));
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy