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.FunctionChainImpactPreviewProtectionNodeImpactDetailsInner; import com.muse.dto.FunctionChainImpactPreviewSlotChangesInner; 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; /** * FunctionChainImpactPreview */ @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 FunctionChainImpactPreview implements Serializable { private static final long serialVersionUID = 1L; private @Nullable String impactPreviewId; private @Nullable String chainKey; private @Nullable Integer targetVersion; private @Nullable Integer affectedAgentSlotBindings; private @Nullable Integer affectedAIRuntimeTasks; private @Nullable Integer affectedProtectionNodeChanges; @Valid private List<@Valid FunctionChainImpactPreviewProtectionNodeImpactDetailsInner> protectionNodeImpactDetails = new ArrayList<>(); @Valid private List<@Valid FunctionChainImpactPreviewSlotChangesInner> slotChanges = new ArrayList<>(); public FunctionChainImpactPreview impactPreviewId(@Nullable String impactPreviewId) { this.impactPreviewId = impactPreviewId; return this; } /** * Get impactPreviewId * @return impactPreviewId */ @Schema(name = "impactPreviewId", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("impactPreviewId") public @Nullable String getImpactPreviewId() { return impactPreviewId; } @JsonProperty("impactPreviewId") public void setImpactPreviewId(@Nullable String impactPreviewId) { this.impactPreviewId = impactPreviewId; } public FunctionChainImpactPreview chainKey(@Nullable String chainKey) { this.chainKey = chainKey; return this; } /** * Get chainKey * @return chainKey */ @Schema(name = "chainKey", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("chainKey") public @Nullable String getChainKey() { return chainKey; } @JsonProperty("chainKey") public void setChainKey(@Nullable String chainKey) { this.chainKey = chainKey; } public FunctionChainImpactPreview targetVersion(@Nullable Integer targetVersion) { this.targetVersion = targetVersion; return this; } /** * Get targetVersion * @return targetVersion */ @Schema(name = "targetVersion", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("targetVersion") public @Nullable Integer getTargetVersion() { return targetVersion; } @JsonProperty("targetVersion") public void setTargetVersion(@Nullable Integer targetVersion) { this.targetVersion = targetVersion; } public FunctionChainImpactPreview affectedAgentSlotBindings(@Nullable Integer affectedAgentSlotBindings) { this.affectedAgentSlotBindings = affectedAgentSlotBindings; return this; } /** * 受影响的智能体槽位绑定数 * @return affectedAgentSlotBindings */ @Schema(name = "affectedAgentSlotBindings", description = "受影响的智能体槽位绑定数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedAgentSlotBindings") public @Nullable Integer getAffectedAgentSlotBindings() { return affectedAgentSlotBindings; } @JsonProperty("affectedAgentSlotBindings") public void setAffectedAgentSlotBindings(@Nullable Integer affectedAgentSlotBindings) { this.affectedAgentSlotBindings = affectedAgentSlotBindings; } public FunctionChainImpactPreview affectedAIRuntimeTasks(@Nullable Integer affectedAIRuntimeTasks) { this.affectedAIRuntimeTasks = affectedAIRuntimeTasks; return this; } /** * 受影响的 AI 运行时任务数 * @return affectedAIRuntimeTasks */ @Schema(name = "affectedAIRuntimeTasks", description = "受影响的 AI 运行时任务数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedAIRuntimeTasks") public @Nullable Integer getAffectedAIRuntimeTasks() { return affectedAIRuntimeTasks; } @JsonProperty("affectedAIRuntimeTasks") public void setAffectedAIRuntimeTasks(@Nullable Integer affectedAIRuntimeTasks) { this.affectedAIRuntimeTasks = affectedAIRuntimeTasks; } public FunctionChainImpactPreview affectedProtectionNodeChanges(@Nullable Integer affectedProtectionNodeChanges) { this.affectedProtectionNodeChanges = affectedProtectionNodeChanges; return this; } /** * 保护节点变更数 * @return affectedProtectionNodeChanges */ @Schema(name = "affectedProtectionNodeChanges", description = "保护节点变更数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedProtectionNodeChanges") public @Nullable Integer getAffectedProtectionNodeChanges() { return affectedProtectionNodeChanges; } @JsonProperty("affectedProtectionNodeChanges") public void setAffectedProtectionNodeChanges(@Nullable Integer affectedProtectionNodeChanges) { this.affectedProtectionNodeChanges = affectedProtectionNodeChanges; } public FunctionChainImpactPreview protectionNodeImpactDetails(List<@Valid FunctionChainImpactPreviewProtectionNodeImpactDetailsInner> protectionNodeImpactDetails) { this.protectionNodeImpactDetails = protectionNodeImpactDetails; return this; } public FunctionChainImpactPreview addProtectionNodeImpactDetailsItem(FunctionChainImpactPreviewProtectionNodeImpactDetailsInner protectionNodeImpactDetailsItem) { if (this.protectionNodeImpactDetails == null) { this.protectionNodeImpactDetails = new ArrayList<>(); } this.protectionNodeImpactDetails.add(protectionNodeImpactDetailsItem); return this; } /** * Get protectionNodeImpactDetails * @return protectionNodeImpactDetails */ @Valid @Schema(name = "protectionNodeImpactDetails", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("protectionNodeImpactDetails") public List<@Valid FunctionChainImpactPreviewProtectionNodeImpactDetailsInner> getProtectionNodeImpactDetails() { return protectionNodeImpactDetails; } @JsonProperty("protectionNodeImpactDetails") public void setProtectionNodeImpactDetails(List<@Valid FunctionChainImpactPreviewProtectionNodeImpactDetailsInner> protectionNodeImpactDetails) { this.protectionNodeImpactDetails = protectionNodeImpactDetails; } public FunctionChainImpactPreview slotChanges(List<@Valid FunctionChainImpactPreviewSlotChangesInner> slotChanges) { this.slotChanges = slotChanges; return this; } public FunctionChainImpactPreview addSlotChangesItem(FunctionChainImpactPreviewSlotChangesInner slotChangesItem) { if (this.slotChanges == null) { this.slotChanges = new ArrayList<>(); } this.slotChanges.add(slotChangesItem); return this; } /** * Get slotChanges * @return slotChanges */ @Valid @Schema(name = "slotChanges", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("slotChanges") public List<@Valid FunctionChainImpactPreviewSlotChangesInner> getSlotChanges() { return slotChanges; } @JsonProperty("slotChanges") public void setSlotChanges(List<@Valid FunctionChainImpactPreviewSlotChangesInner> slotChanges) { this.slotChanges = slotChanges; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } FunctionChainImpactPreview functionChainImpactPreview = (FunctionChainImpactPreview) o; return Objects.equals(this.impactPreviewId, functionChainImpactPreview.impactPreviewId) && Objects.equals(this.chainKey, functionChainImpactPreview.chainKey) && Objects.equals(this.targetVersion, functionChainImpactPreview.targetVersion) && Objects.equals(this.affectedAgentSlotBindings, functionChainImpactPreview.affectedAgentSlotBindings) && Objects.equals(this.affectedAIRuntimeTasks, functionChainImpactPreview.affectedAIRuntimeTasks) && Objects.equals(this.affectedProtectionNodeChanges, functionChainImpactPreview.affectedProtectionNodeChanges) && Objects.equals(this.protectionNodeImpactDetails, functionChainImpactPreview.protectionNodeImpactDetails) && Objects.equals(this.slotChanges, functionChainImpactPreview.slotChanges); } @Override public int hashCode() { return Objects.hash(impactPreviewId, chainKey, targetVersion, affectedAgentSlotBindings, affectedAIRuntimeTasks, affectedProtectionNodeChanges, protectionNodeImpactDetails, slotChanges); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class FunctionChainImpactPreview {\n"); sb.append(" impactPreviewId: ").append(toIndentedString(impactPreviewId)).append("\n"); sb.append(" chainKey: ").append(toIndentedString(chainKey)).append("\n"); sb.append(" targetVersion: ").append(toIndentedString(targetVersion)).append("\n"); sb.append(" affectedAgentSlotBindings: ").append(toIndentedString(affectedAgentSlotBindings)).append("\n"); sb.append(" affectedAIRuntimeTasks: ").append(toIndentedString(affectedAIRuntimeTasks)).append("\n"); sb.append(" affectedProtectionNodeChanges: ").append(toIndentedString(affectedProtectionNodeChanges)).append("\n"); sb.append(" protectionNodeImpactDetails: ").append(toIndentedString(protectionNodeImpactDetails)).append("\n"); sb.append(" slotChanges: ").append(toIndentedString(slotChanges)).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 "); } }