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 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; /** * GetKnowledgeBase200ResponseAllOfDataLicenseSummary */ @JsonTypeName("getKnowledgeBase_200_response_allOf_data_licenseSummary") @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 GetKnowledgeBase200ResponseAllOfDataLicenseSummary implements Serializable { private static final long serialVersionUID = 1L; private @Nullable Boolean canSearch; private @Nullable Boolean canGenerate; private @Nullable Boolean canExport; private @Nullable Boolean canCopy; @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private @Nullable OffsetDateTime expiresAt; public GetKnowledgeBase200ResponseAllOfDataLicenseSummary canSearch(@Nullable Boolean canSearch) { this.canSearch = canSearch; return this; } /** * Get canSearch * @return canSearch */ @Schema(name = "canSearch", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canSearch") public @Nullable Boolean getCanSearch() { return canSearch; } @JsonProperty("canSearch") public void setCanSearch(@Nullable Boolean canSearch) { this.canSearch = canSearch; } public GetKnowledgeBase200ResponseAllOfDataLicenseSummary canGenerate(@Nullable Boolean canGenerate) { this.canGenerate = canGenerate; return this; } /** * Get canGenerate * @return canGenerate */ @Schema(name = "canGenerate", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canGenerate") public @Nullable Boolean getCanGenerate() { return canGenerate; } @JsonProperty("canGenerate") public void setCanGenerate(@Nullable Boolean canGenerate) { this.canGenerate = canGenerate; } public GetKnowledgeBase200ResponseAllOfDataLicenseSummary canExport(@Nullable Boolean canExport) { this.canExport = canExport; return this; } /** * Get canExport * @return canExport */ @Schema(name = "canExport", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canExport") public @Nullable Boolean getCanExport() { return canExport; } @JsonProperty("canExport") public void setCanExport(@Nullable Boolean canExport) { this.canExport = canExport; } public GetKnowledgeBase200ResponseAllOfDataLicenseSummary canCopy(@Nullable Boolean canCopy) { this.canCopy = canCopy; return this; } /** * Get canCopy * @return canCopy */ @Schema(name = "canCopy", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("canCopy") public @Nullable Boolean getCanCopy() { return canCopy; } @JsonProperty("canCopy") public void setCanCopy(@Nullable Boolean canCopy) { this.canCopy = canCopy; } public GetKnowledgeBase200ResponseAllOfDataLicenseSummary 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; } GetKnowledgeBase200ResponseAllOfDataLicenseSummary getKnowledgeBase200ResponseAllOfDataLicenseSummary = (GetKnowledgeBase200ResponseAllOfDataLicenseSummary) o; return Objects.equals(this.canSearch, getKnowledgeBase200ResponseAllOfDataLicenseSummary.canSearch) && Objects.equals(this.canGenerate, getKnowledgeBase200ResponseAllOfDataLicenseSummary.canGenerate) && Objects.equals(this.canExport, getKnowledgeBase200ResponseAllOfDataLicenseSummary.canExport) && Objects.equals(this.canCopy, getKnowledgeBase200ResponseAllOfDataLicenseSummary.canCopy) && Objects.equals(this.expiresAt, getKnowledgeBase200ResponseAllOfDataLicenseSummary.expiresAt); } @Override public int hashCode() { return Objects.hash(canSearch, canGenerate, canExport, canCopy, expiresAt); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class GetKnowledgeBase200ResponseAllOfDataLicenseSummary {\n"); sb.append(" canSearch: ").append(toIndentedString(canSearch)).append("\n"); sb.append(" canGenerate: ").append(toIndentedString(canGenerate)).append("\n"); sb.append(" canExport: ").append(toIndentedString(canExport)).append("\n"); sb.append(" canCopy: ").append(toIndentedString(canCopy)).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 "); } }