com.huaweicloud.sdk.frs.v2.model.SearchFace Maven / Gradle / Ivy
package com.huaweicloud.sdk.frs.v2.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
import java.util.function.Consumer;
/**
* SearchFace
*/
public class SearchFace {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "bounding_box")
private BoundingBox boundingBox;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "similarity")
private Double similarity;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "external_fields")
private Object externalFields;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "external_image_id")
private String externalImageId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "face_id")
private String faceId;
public SearchFace withBoundingBox(BoundingBox boundingBox) {
this.boundingBox = boundingBox;
return this;
}
public SearchFace withBoundingBox(Consumer boundingBoxSetter) {
if (this.boundingBox == null) {
this.boundingBox = new BoundingBox();
boundingBoxSetter.accept(this.boundingBox);
}
return this;
}
/**
* Get boundingBox
* @return boundingBox
*/
public BoundingBox getBoundingBox() {
return boundingBox;
}
public void setBoundingBox(BoundingBox boundingBox) {
this.boundingBox = boundingBox;
}
public SearchFace withSimilarity(Double similarity) {
this.similarity = similarity;
return this;
}
/**
* 人脸搜索时用于被检索的相似度。
* @return similarity
*/
public Double getSimilarity() {
return similarity;
}
public void setSimilarity(Double similarity) {
this.similarity = similarity;
}
public SearchFace withExternalFields(Object externalFields) {
this.externalFields = externalFields;
return this;
}
/**
* 用户添加的额外自定义字段。
* @return externalFields
*/
public Object getExternalFields() {
return externalFields;
}
public void setExternalFields(Object externalFields) {
this.externalFields = externalFields;
}
public SearchFace withExternalImageId(String externalImageId) {
this.externalImageId = externalImageId;
return this;
}
/**
* 人脸所在的外部图片ID。
* @return externalImageId
*/
public String getExternalImageId() {
return externalImageId;
}
public void setExternalImageId(String externalImageId) {
this.externalImageId = externalImageId;
}
public SearchFace withFaceId(String faceId) {
this.faceId = faceId;
return this;
}
/**
* 人脸ID,由系统内部生成的唯一ID。
* @return faceId
*/
public String getFaceId() {
return faceId;
}
public void setFaceId(String faceId) {
this.faceId = faceId;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
SearchFace that = (SearchFace) obj;
return Objects.equals(this.boundingBox, that.boundingBox) && Objects.equals(this.similarity, that.similarity)
&& Objects.equals(this.externalFields, that.externalFields)
&& Objects.equals(this.externalImageId, that.externalImageId) && Objects.equals(this.faceId, that.faceId);
}
@Override
public int hashCode() {
return Objects.hash(boundingBox, similarity, externalFields, externalImageId, faceId);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class SearchFace {\n");
sb.append(" boundingBox: ").append(toIndentedString(boundingBox)).append("\n");
sb.append(" similarity: ").append(toIndentedString(similarity)).append("\n");
sb.append(" externalFields: ").append(toIndentedString(externalFields)).append("\n");
sb.append(" externalImageId: ").append(toIndentedString(externalImageId)).append("\n");
sb.append(" faceId: ").append(toIndentedString(faceId)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}