dev.ai4j.openai4j.chat.JsonBooleanSchema Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openai4j Show documentation
Show all versions of openai4j Show documentation
Java Client for OpenAI (ChatGPT)
package dev.ai4j.openai4j.chat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import java.util.Objects;
@JsonDeserialize(builder = JsonBooleanSchema.Builder.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class JsonBooleanSchema extends JsonSchemaElement {
@JsonProperty
private final String description;
public JsonBooleanSchema(Builder builder) {
super("boolean");
this.description = builder.description;
}
@Override
public boolean equals(Object another) {
if (this == another) return true;
return another instanceof JsonBooleanSchema
&& equalTo((JsonBooleanSchema) another);
}
private boolean equalTo(JsonBooleanSchema another) {
return Objects.equals(description, another.description);
}
@Override
public int hashCode() {
int h = 5381;
h += (h << 5) + Objects.hashCode(description);
return h;
}
@Override
public String toString() {
return "JsonBooleanSchema{" +
"description=" + description +
"}";
}
public static Builder builder() {
return new Builder();
}
@JsonPOJOBuilder(withPrefix = "")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public static class Builder {
private String description;
public Builder description(String description) {
this.description = description;
return this;
}
public JsonBooleanSchema build() {
return new JsonBooleanSchema(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy