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.muse.dto.CompatibilityResultBreakingChangesInner; import com.muse.dto.CompatibilityResultProtectionNodeBoundaryViolationsInner; import java.util.ArrayList; import java.util.Arrays; import java.util.List; 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 = "CompatibilityResult", 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 CompatibilityResult implements Serializable { private static final long serialVersionUID = 1L; private @Nullable Boolean compatible; @Valid private List<@Valid CompatibilityResultBreakingChangesInner> breakingChanges = new ArrayList<>(); @Valid private List<@Valid CompatibilityResultProtectionNodeBoundaryViolationsInner> protectionNodeBoundaryViolations = new ArrayList<>(); public CompatibilityResult compatible(@Nullable Boolean compatible) { this.compatible = compatible; return this; } /** * Get compatible * @return compatible */ @Schema(name = "compatible", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("compatible") public @Nullable Boolean getCompatible() { return compatible; } @JsonProperty("compatible") public void setCompatible(@Nullable Boolean compatible) { this.compatible = compatible; } public CompatibilityResult breakingChanges(List<@Valid CompatibilityResultBreakingChangesInner> breakingChanges) { this.breakingChanges = breakingChanges; return this; } public CompatibilityResult addBreakingChangesItem(CompatibilityResultBreakingChangesInner breakingChangesItem) { if (this.breakingChanges == null) { this.breakingChanges = new ArrayList<>(); } this.breakingChanges.add(breakingChangesItem); return this; } /** * Get breakingChanges * @return breakingChanges */ @Valid @Schema(name = "breakingChanges", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("breakingChanges") public List<@Valid CompatibilityResultBreakingChangesInner> getBreakingChanges() { return breakingChanges; } @JsonProperty("breakingChanges") public void setBreakingChanges(List<@Valid CompatibilityResultBreakingChangesInner> breakingChanges) { this.breakingChanges = breakingChanges; } public CompatibilityResult protectionNodeBoundaryViolations(List<@Valid CompatibilityResultProtectionNodeBoundaryViolationsInner> protectionNodeBoundaryViolations) { this.protectionNodeBoundaryViolations = protectionNodeBoundaryViolations; return this; } public CompatibilityResult addProtectionNodeBoundaryViolationsItem(CompatibilityResultProtectionNodeBoundaryViolationsInner protectionNodeBoundaryViolationsItem) { if (this.protectionNodeBoundaryViolations == null) { this.protectionNodeBoundaryViolations = new ArrayList<>(); } this.protectionNodeBoundaryViolations.add(protectionNodeBoundaryViolationsItem); return this; } /** * Get protectionNodeBoundaryViolations * @return protectionNodeBoundaryViolations */ @Valid @Schema(name = "protectionNodeBoundaryViolations", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("protectionNodeBoundaryViolations") public List<@Valid CompatibilityResultProtectionNodeBoundaryViolationsInner> getProtectionNodeBoundaryViolations() { return protectionNodeBoundaryViolations; } @JsonProperty("protectionNodeBoundaryViolations") public void setProtectionNodeBoundaryViolations(List<@Valid CompatibilityResultProtectionNodeBoundaryViolationsInner> protectionNodeBoundaryViolations) { this.protectionNodeBoundaryViolations = protectionNodeBoundaryViolations; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } CompatibilityResult compatibilityResult = (CompatibilityResult) o; return Objects.equals(this.compatible, compatibilityResult.compatible) && Objects.equals(this.breakingChanges, compatibilityResult.breakingChanges) && Objects.equals(this.protectionNodeBoundaryViolations, compatibilityResult.protectionNodeBoundaryViolations); } @Override public int hashCode() { return Objects.hash(compatible, breakingChanges, protectionNodeBoundaryViolations); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CompatibilityResult {\n"); sb.append(" compatible: ").append(toIndentedString(compatible)).append("\n"); sb.append(" breakingChanges: ").append(toIndentedString(breakingChanges)).append("\n"); sb.append(" protectionNodeBoundaryViolations: ").append(toIndentedString(protectionNodeBoundaryViolations)).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 "); } }