
clarifai2.solutions.moderation.dto.ModerationDetail 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.solutions.moderation.dto;
import clarifai2.dto.prediction.Concept;
import clarifai2.internal.JSONAdapterFactory;
import com.google.auto.value.AutoValue;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.reflect.TypeToken;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static clarifai2.internal.InternalUtil.assertJsonIs;
@AutoValue
@JsonAdapter(ModerationDetail.Adapter.class)
public abstract class ModerationDetail {
ModerationDetail() {} // AutoValue instances only
@NotNull public abstract Concept concept();
public abstract int code();
@NotNull public abstract String description();
public abstract float thresholdMin();
public abstract float thresholdMax();
static class Adapter extends JSONAdapterFactory {
@Nullable @Override protected Deserializer deserializer() {
return new Deserializer() {
@Nullable @Override
public ModerationDetail deserialize(
@NotNull JsonElement json,
@NotNull TypeToken type,
@NotNull Gson gson
) {
final JsonObject root = assertJsonIs(json, JsonObject.class);
return new AutoValue_ModerationDetail(
gson.fromJson(root.get("concept"), Concept.class),
root.get("code").getAsInt(),
root.get("description").getAsString(),
root.get("threshold_min").getAsFloat(),
root.get("threshold_max").getAsFloat()
);
}
};
}
@NotNull @Override protected TypeToken typeToken() {
return new TypeToken() {};
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy