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 com.fasterxml.jackson.annotation.JsonTypeName; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.springframework.format.annotation.DateTimeFormat; 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; /** * CreateKBPublishReadiness200ResponseAllOfData */ @JsonTypeName("createKBPublishReadiness_200_response_allOf_data") @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 CreateKBPublishReadiness200ResponseAllOfData implements Serializable { private static final long serialVersionUID = 1L; private @Nullable String publishReadinessId; private @Nullable Boolean blocked; @Valid private List blockedReasons = new ArrayList<>(); @Valid private List warnings = new ArrayList<>(); private @Nullable String rightsStatus; private @Nullable String privacyStatus; private @Nullable String processingStatus; @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private @Nullable OffsetDateTime expiresAt; public CreateKBPublishReadiness200ResponseAllOfData publishReadinessId(@Nullable String publishReadinessId) { this.publishReadinessId = publishReadinessId; return this; } /** * 源侧可发布性摘要 ID,用于生成发布快照 * @return publishReadinessId */ @Schema(name = "publishReadinessId", description = "源侧可发布性摘要 ID,用于生成发布快照", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("publishReadinessId") public @Nullable String getPublishReadinessId() { return publishReadinessId; } @JsonProperty("publishReadinessId") public void setPublishReadinessId(@Nullable String publishReadinessId) { this.publishReadinessId = publishReadinessId; } public CreateKBPublishReadiness200ResponseAllOfData blocked(@Nullable Boolean blocked) { this.blocked = blocked; return this; } /** * Get blocked * @return blocked */ @Schema(name = "blocked", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("blocked") public @Nullable Boolean getBlocked() { return blocked; } @JsonProperty("blocked") public void setBlocked(@Nullable Boolean blocked) { this.blocked = blocked; } public CreateKBPublishReadiness200ResponseAllOfData blockedReasons(List blockedReasons) { this.blockedReasons = blockedReasons; return this; } public CreateKBPublishReadiness200ResponseAllOfData addBlockedReasonsItem(String blockedReasonsItem) { if (this.blockedReasons == null) { this.blockedReasons = new ArrayList<>(); } this.blockedReasons.add(blockedReasonsItem); return this; } /** * Get blockedReasons * @return blockedReasons */ @Schema(name = "blockedReasons", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("blockedReasons") public List getBlockedReasons() { return blockedReasons; } @JsonProperty("blockedReasons") public void setBlockedReasons(List blockedReasons) { this.blockedReasons = blockedReasons; } public CreateKBPublishReadiness200ResponseAllOfData warnings(List warnings) { this.warnings = warnings; return this; } public CreateKBPublishReadiness200ResponseAllOfData addWarningsItem(String warningsItem) { if (this.warnings == null) { this.warnings = new ArrayList<>(); } this.warnings.add(warningsItem); return this; } /** * Get warnings * @return warnings */ @Schema(name = "warnings", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("warnings") public List getWarnings() { return warnings; } @JsonProperty("warnings") public void setWarnings(List warnings) { this.warnings = warnings; } public CreateKBPublishReadiness200ResponseAllOfData rightsStatus(@Nullable String rightsStatus) { this.rightsStatus = rightsStatus; return this; } /** * Get rightsStatus * @return rightsStatus */ @Schema(name = "rightsStatus", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("rightsStatus") public @Nullable String getRightsStatus() { return rightsStatus; } @JsonProperty("rightsStatus") public void setRightsStatus(@Nullable String rightsStatus) { this.rightsStatus = rightsStatus; } public CreateKBPublishReadiness200ResponseAllOfData privacyStatus(@Nullable String privacyStatus) { this.privacyStatus = privacyStatus; return this; } /** * Get privacyStatus * @return privacyStatus */ @Schema(name = "privacyStatus", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("privacyStatus") public @Nullable String getPrivacyStatus() { return privacyStatus; } @JsonProperty("privacyStatus") public void setPrivacyStatus(@Nullable String privacyStatus) { this.privacyStatus = privacyStatus; } public CreateKBPublishReadiness200ResponseAllOfData processingStatus(@Nullable String processingStatus) { this.processingStatus = processingStatus; return this; } /** * Get processingStatus * @return processingStatus */ @Schema(name = "processingStatus", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("processingStatus") public @Nullable String getProcessingStatus() { return processingStatus; } @JsonProperty("processingStatus") public void setProcessingStatus(@Nullable String processingStatus) { this.processingStatus = processingStatus; } public CreateKBPublishReadiness200ResponseAllOfData expiresAt(@Nullable OffsetDateTime expiresAt) { this.expiresAt = expiresAt; return this; } /** * Get expiresAt * @return expiresAt */ @Valid @Schema(name = "expiresAt", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("expiresAt") public @Nullable OffsetDateTime getExpiresAt() { return expiresAt; } @JsonProperty("expiresAt") public void setExpiresAt(@Nullable OffsetDateTime expiresAt) { this.expiresAt = expiresAt; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } CreateKBPublishReadiness200ResponseAllOfData createKBPublishReadiness200ResponseAllOfData = (CreateKBPublishReadiness200ResponseAllOfData) o; return Objects.equals(this.publishReadinessId, createKBPublishReadiness200ResponseAllOfData.publishReadinessId) && Objects.equals(this.blocked, createKBPublishReadiness200ResponseAllOfData.blocked) && Objects.equals(this.blockedReasons, createKBPublishReadiness200ResponseAllOfData.blockedReasons) && Objects.equals(this.warnings, createKBPublishReadiness200ResponseAllOfData.warnings) && Objects.equals(this.rightsStatus, createKBPublishReadiness200ResponseAllOfData.rightsStatus) && Objects.equals(this.privacyStatus, createKBPublishReadiness200ResponseAllOfData.privacyStatus) && Objects.equals(this.processingStatus, createKBPublishReadiness200ResponseAllOfData.processingStatus) && Objects.equals(this.expiresAt, createKBPublishReadiness200ResponseAllOfData.expiresAt); } @Override public int hashCode() { return Objects.hash(publishReadinessId, blocked, blockedReasons, warnings, rightsStatus, privacyStatus, processingStatus, expiresAt); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CreateKBPublishReadiness200ResponseAllOfData {\n"); sb.append(" publishReadinessId: ").append(toIndentedString(publishReadinessId)).append("\n"); sb.append(" blocked: ").append(toIndentedString(blocked)).append("\n"); sb.append(" blockedReasons: ").append(toIndentedString(blockedReasons)).append("\n"); sb.append(" warnings: ").append(toIndentedString(warnings)).append("\n"); sb.append(" rightsStatus: ").append(toIndentedString(rightsStatus)).append("\n"); sb.append(" privacyStatus: ").append(toIndentedString(privacyStatus)).append("\n"); sb.append(" processingStatus: ").append(toIndentedString(processingStatus)).append("\n"); sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).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 "); } }