package com.muse.dto; import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import org.springframework.lang.Nullable; import java.io.Serializable; import java.time.OffsetDateTime; import jakarta.validation.Valid; import jakarta.validation.constraints.*; import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; import jakarta.annotation.Generated; /** * 字段废弃信息 */ @Schema(name = "FieldDeprecationInfo", description = "字段废弃信息") @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T16:47:40.290595+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0") public class FieldDeprecationInfo implements Serializable { private static final long serialVersionUID = 1L; private @Nullable String replacementFieldKey; private @Nullable String retentionPeriod; private @Nullable String migrationHint; public FieldDeprecationInfo replacementFieldKey(@Nullable String replacementFieldKey) { this.replacementFieldKey = replacementFieldKey; return this; } /** * 替代字段标识 * @return replacementFieldKey */ @Schema(name = "replacementFieldKey", description = "替代字段标识", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("replacementFieldKey") public @Nullable String getReplacementFieldKey() { return replacementFieldKey; } @JsonProperty("replacementFieldKey") public void setReplacementFieldKey(@Nullable String replacementFieldKey) { this.replacementFieldKey = replacementFieldKey; } public FieldDeprecationInfo retentionPeriod(@Nullable String retentionPeriod) { this.retentionPeriod = retentionPeriod; return this; } /** * 保留期(如 6m / 1y) * @return retentionPeriod */ @Schema(name = "retentionPeriod", description = "保留期(如 6m / 1y)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("retentionPeriod") public @Nullable String getRetentionPeriod() { return retentionPeriod; } @JsonProperty("retentionPeriod") public void setRetentionPeriod(@Nullable String retentionPeriod) { this.retentionPeriod = retentionPeriod; } public FieldDeprecationInfo migrationHint(@Nullable String migrationHint) { this.migrationHint = migrationHint; return this; } /** * 迁移提示 * @return migrationHint */ @Schema(name = "migrationHint", description = "迁移提示", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("migrationHint") public @Nullable String getMigrationHint() { return migrationHint; } @JsonProperty("migrationHint") public void setMigrationHint(@Nullable String migrationHint) { this.migrationHint = migrationHint; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } FieldDeprecationInfo fieldDeprecationInfo = (FieldDeprecationInfo) o; return Objects.equals(this.replacementFieldKey, fieldDeprecationInfo.replacementFieldKey) && Objects.equals(this.retentionPeriod, fieldDeprecationInfo.retentionPeriod) && Objects.equals(this.migrationHint, fieldDeprecationInfo.migrationHint); } @Override public int hashCode() { return Objects.hash(replacementFieldKey, retentionPeriod, migrationHint); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class FieldDeprecationInfo {\n"); sb.append(" replacementFieldKey: ").append(toIndentedString(replacementFieldKey)).append("\n"); sb.append(" retentionPeriod: ").append(toIndentedString(retentionPeriod)).append("\n"); sb.append(" migrationHint: ").append(toIndentedString(migrationHint)).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(@Nullable Object o) { return o == null ? "null" : o.toString().replace("\n", "\n "); } }