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.AffectedAuthorization; import com.muse.dto.AffectedBinding; import com.muse.dto.AffectedCandidate; import com.muse.dto.AffectedInstallation; import com.muse.dto.AffectedTask; import com.muse.dto.GovernanceResultSummary; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; 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 = "GovernanceImpactResult", 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 GovernanceImpactResult implements Serializable { private static final long serialVersionUID = 1L; private @Nullable UUID assetId; private @Nullable GovernanceResultSummary governanceResult; @Valid private List<@Valid AffectedAuthorization> affectedAuthorizations = new ArrayList<>(); @Valid private List<@Valid AffectedInstallation> affectedInstallations = new ArrayList<>(); @Valid private List<@Valid AffectedBinding> affectedBindings = new ArrayList<>(); @Valid private List<@Valid AffectedTask> affectedTasks = new ArrayList<>(); @Valid private List<@Valid AffectedCandidate> affectedCandidates = new ArrayList<>(); @Valid private List exportRestrictions = new ArrayList<>(); @Valid private List suggestedActions = new ArrayList<>(); public GovernanceImpactResult assetId(@Nullable UUID assetId) { this.assetId = assetId; return this; } /** * Get assetId * @return assetId */ @Valid @Schema(name = "assetId", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("assetId") public @Nullable UUID getAssetId() { return assetId; } @JsonProperty("assetId") public void setAssetId(@Nullable UUID assetId) { this.assetId = assetId; } public GovernanceImpactResult governanceResult(@Nullable GovernanceResultSummary governanceResult) { this.governanceResult = governanceResult; return this; } /** * Get governanceResult * @return governanceResult */ @Valid @Schema(name = "governanceResult", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("governanceResult") public @Nullable GovernanceResultSummary getGovernanceResult() { return governanceResult; } @JsonProperty("governanceResult") public void setGovernanceResult(@Nullable GovernanceResultSummary governanceResult) { this.governanceResult = governanceResult; } public GovernanceImpactResult affectedAuthorizations(List<@Valid AffectedAuthorization> affectedAuthorizations) { this.affectedAuthorizations = affectedAuthorizations; return this; } public GovernanceImpactResult addAffectedAuthorizationsItem(AffectedAuthorization affectedAuthorizationsItem) { if (this.affectedAuthorizations == null) { this.affectedAuthorizations = new ArrayList<>(); } this.affectedAuthorizations.add(affectedAuthorizationsItem); return this; } /** * 受影响的授权记录 * @return affectedAuthorizations */ @Valid @Schema(name = "affectedAuthorizations", description = "受影响的授权记录", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedAuthorizations") public List<@Valid AffectedAuthorization> getAffectedAuthorizations() { return affectedAuthorizations; } @JsonProperty("affectedAuthorizations") public void setAffectedAuthorizations(List<@Valid AffectedAuthorization> affectedAuthorizations) { this.affectedAuthorizations = affectedAuthorizations; } public GovernanceImpactResult affectedInstallations(List<@Valid AffectedInstallation> affectedInstallations) { this.affectedInstallations = affectedInstallations; return this; } public GovernanceImpactResult addAffectedInstallationsItem(AffectedInstallation affectedInstallationsItem) { if (this.affectedInstallations == null) { this.affectedInstallations = new ArrayList<>(); } this.affectedInstallations.add(affectedInstallationsItem); return this; } /** * 受影响的安装记录 * @return affectedInstallations */ @Valid @Schema(name = "affectedInstallations", description = "受影响的安装记录", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedInstallations") public List<@Valid AffectedInstallation> getAffectedInstallations() { return affectedInstallations; } @JsonProperty("affectedInstallations") public void setAffectedInstallations(List<@Valid AffectedInstallation> affectedInstallations) { this.affectedInstallations = affectedInstallations; } public GovernanceImpactResult affectedBindings(List<@Valid AffectedBinding> affectedBindings) { this.affectedBindings = affectedBindings; return this; } public GovernanceImpactResult addAffectedBindingsItem(AffectedBinding affectedBindingsItem) { if (this.affectedBindings == null) { this.affectedBindings = new ArrayList<>(); } this.affectedBindings.add(affectedBindingsItem); return this; } /** * 受影响的作品绑定 * @return affectedBindings */ @Valid @Schema(name = "affectedBindings", description = "受影响的作品绑定", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedBindings") public List<@Valid AffectedBinding> getAffectedBindings() { return affectedBindings; } @JsonProperty("affectedBindings") public void setAffectedBindings(List<@Valid AffectedBinding> affectedBindings) { this.affectedBindings = affectedBindings; } public GovernanceImpactResult affectedTasks(List<@Valid AffectedTask> affectedTasks) { this.affectedTasks = affectedTasks; return this; } public GovernanceImpactResult addAffectedTasksItem(AffectedTask affectedTasksItem) { if (this.affectedTasks == null) { this.affectedTasks = new ArrayList<>(); } this.affectedTasks.add(affectedTasksItem); return this; } /** * 受影响的运行中任务 * @return affectedTasks */ @Valid @Schema(name = "affectedTasks", description = "受影响的运行中任务", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedTasks") public List<@Valid AffectedTask> getAffectedTasks() { return affectedTasks; } @JsonProperty("affectedTasks") public void setAffectedTasks(List<@Valid AffectedTask> affectedTasks) { this.affectedTasks = affectedTasks; } public GovernanceImpactResult affectedCandidates(List<@Valid AffectedCandidate> affectedCandidates) { this.affectedCandidates = affectedCandidates; return this; } public GovernanceImpactResult addAffectedCandidatesItem(AffectedCandidate affectedCandidatesItem) { if (this.affectedCandidates == null) { this.affectedCandidates = new ArrayList<>(); } this.affectedCandidates.add(affectedCandidatesItem); return this; } /** * 受影响的 Shadow 候选和知识草稿 * @return affectedCandidates */ @Valid @Schema(name = "affectedCandidates", description = "受影响的 Shadow 候选和知识草稿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("affectedCandidates") public List<@Valid AffectedCandidate> getAffectedCandidates() { return affectedCandidates; } @JsonProperty("affectedCandidates") public void setAffectedCandidates(List<@Valid AffectedCandidate> affectedCandidates) { this.affectedCandidates = affectedCandidates; } public GovernanceImpactResult exportRestrictions(List exportRestrictions) { this.exportRestrictions = exportRestrictions; return this; } public GovernanceImpactResult addExportRestrictionsItem(String exportRestrictionsItem) { if (this.exportRestrictions == null) { this.exportRestrictions = new ArrayList<>(); } this.exportRestrictions.add(exportRestrictionsItem); return this; } /** * 导出限制说明 * @return exportRestrictions */ @Schema(name = "exportRestrictions", description = "导出限制说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("exportRestrictions") public List getExportRestrictions() { return exportRestrictions; } @JsonProperty("exportRestrictions") public void setExportRestrictions(List exportRestrictions) { this.exportRestrictions = exportRestrictions; } public GovernanceImpactResult suggestedActions(List suggestedActions) { this.suggestedActions = suggestedActions; return this; } public GovernanceImpactResult addSuggestedActionsItem(String suggestedActionsItem) { if (this.suggestedActions == null) { this.suggestedActions = new ArrayList<>(); } this.suggestedActions.add(suggestedActionsItem); return this; } /** * 建议动作 * @return suggestedActions */ @Schema(name = "suggestedActions", description = "建议动作", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("suggestedActions") public List getSuggestedActions() { return suggestedActions; } @JsonProperty("suggestedActions") public void setSuggestedActions(List suggestedActions) { this.suggestedActions = suggestedActions; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } GovernanceImpactResult governanceImpactResult = (GovernanceImpactResult) o; return Objects.equals(this.assetId, governanceImpactResult.assetId) && Objects.equals(this.governanceResult, governanceImpactResult.governanceResult) && Objects.equals(this.affectedAuthorizations, governanceImpactResult.affectedAuthorizations) && Objects.equals(this.affectedInstallations, governanceImpactResult.affectedInstallations) && Objects.equals(this.affectedBindings, governanceImpactResult.affectedBindings) && Objects.equals(this.affectedTasks, governanceImpactResult.affectedTasks) && Objects.equals(this.affectedCandidates, governanceImpactResult.affectedCandidates) && Objects.equals(this.exportRestrictions, governanceImpactResult.exportRestrictions) && Objects.equals(this.suggestedActions, governanceImpactResult.suggestedActions); } @Override public int hashCode() { return Objects.hash(assetId, governanceResult, affectedAuthorizations, affectedInstallations, affectedBindings, affectedTasks, affectedCandidates, exportRestrictions, suggestedActions); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class GovernanceImpactResult {\n"); sb.append(" assetId: ").append(toIndentedString(assetId)).append("\n"); sb.append(" governanceResult: ").append(toIndentedString(governanceResult)).append("\n"); sb.append(" affectedAuthorizations: ").append(toIndentedString(affectedAuthorizations)).append("\n"); sb.append(" affectedInstallations: ").append(toIndentedString(affectedInstallations)).append("\n"); sb.append(" affectedBindings: ").append(toIndentedString(affectedBindings)).append("\n"); sb.append(" affectedTasks: ").append(toIndentedString(affectedTasks)).append("\n"); sb.append(" affectedCandidates: ").append(toIndentedString(affectedCandidates)).append("\n"); sb.append(" exportRestrictions: ").append(toIndentedString(exportRestrictions)).append("\n"); sb.append(" suggestedActions: ").append(toIndentedString(suggestedActions)).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 "); } }