
clarifai2.api.request.concept.ModifyConceptsRequest 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.concept;
import clarifai2.internal.grpc.api.ConceptOuterClass;
import clarifai2.api.BaseClarifaiClient;
import clarifai2.api.request.ClarifaiRequest;
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 ModifyConceptsRequest extends ClarifaiRequest.Builder> {
@NotNull private final String action;
@NotNull private final List concepts = new ArrayList<>();
public ModifyConceptsRequest(@NotNull BaseClarifaiClient client, @NotNull String action) {
super(client);
this.action = action;
}
@NotNull public ModifyConceptsRequest plus(@NotNull Concept... concepts) {
return plus(Arrays.asList(concepts));
}
@NotNull public ModifyConceptsRequest plus(@NotNull Collection concepts) {
this.concepts.addAll(concepts);
return this;
}
@NotNull @Override protected String method() {
return "PATCH";
}
@NotNull @Override protected String subUrl() {
return "v2/concepts";
}
@NotNull @Override protected DeserializedRequest> request() {
return new DeserializedRequest>() {
@NotNull @Override public ListenableFuture httpRequestGrpc() {
List conceptsGrpc = new ArrayList<>();
for (Concept concept : concepts) {
conceptsGrpc.add(concept.serialize());
}
return stub().patchConcepts(
ConceptOuterClass.PatchConceptsRequest.newBuilder().setAction(action).addAllConcepts(conceptsGrpc).build()
);
}
@NotNull @Override public List unmarshalerGrpc(Object returnedObject) {
ConceptOuterClass.MultiConceptResponse conceptsResponse =
(ConceptOuterClass.MultiConceptResponse) returnedObject;
List conceptsResult = new ArrayList<>();
for (ConceptOuterClass.Concept concept : conceptsResponse.getConceptsList()) {
conceptsResult.add(Concept.deserialize(concept));
}
return conceptsResult;
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy