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.JsonValue; 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; /** * ProtectionNodeSummary */ @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 ProtectionNodeSummary implements Serializable { private static final long serialVersionUID = 1L; private String nodeKey; private String displayName; /** * 保护节点类型 */ public enum NodeTypeEnum { INPUT_OUTPUT_COMPLIANCE("input_output_compliance"), CHUNKING("chunking"), RAG_INDEXING("rag_indexing"), SEMANTIC_SAFETY("semantic_safety"), STATIC_CHECK("static_check"), QUALITY_GATE("quality_gate"); private final String value; NodeTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static NodeTypeEnum fromValue(String value) { for (NodeTypeEnum b : NodeTypeEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private NodeTypeEnum nodeType; private Boolean irreplaceable; private @Nullable String irreplaceableReason; private @Nullable String chainKey; private @Nullable String auditSummary; public ProtectionNodeSummary() { super(); } /** * Constructor with only required parameters */ public ProtectionNodeSummary(String nodeKey, String displayName, NodeTypeEnum nodeType, Boolean irreplaceable) { this.nodeKey = nodeKey; this.displayName = displayName; this.nodeType = nodeType; this.irreplaceable = irreplaceable; } public ProtectionNodeSummary nodeKey(String nodeKey) { this.nodeKey = nodeKey; return this; } /** * 保护节点业务标识 * @return nodeKey */ @NotNull @Schema(name = "nodeKey", description = "保护节点业务标识", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("nodeKey") public String getNodeKey() { return nodeKey; } @JsonProperty("nodeKey") public void setNodeKey(String nodeKey) { this.nodeKey = nodeKey; } public ProtectionNodeSummary displayName(String displayName) { this.displayName = displayName; return this; } /** * Get displayName * @return displayName */ @NotNull @Schema(name = "displayName", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("displayName") public String getDisplayName() { return displayName; } @JsonProperty("displayName") public void setDisplayName(String displayName) { this.displayName = displayName; } public ProtectionNodeSummary nodeType(NodeTypeEnum nodeType) { this.nodeType = nodeType; return this; } /** * 保护节点类型 * @return nodeType */ @NotNull @Schema(name = "nodeType", description = "保护节点类型", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("nodeType") public NodeTypeEnum getNodeType() { return nodeType; } @JsonProperty("nodeType") public void setNodeType(NodeTypeEnum nodeType) { this.nodeType = nodeType; } public ProtectionNodeSummary irreplaceable(Boolean irreplaceable) { this.irreplaceable = irreplaceable; return this; } /** * 是否不可替换。保护节点不可被用户替换、覆盖或降级为开放槽位。 * @return irreplaceable */ @NotNull @Schema(name = "irreplaceable", description = "是否不可替换。保护节点不可被用户替换、覆盖或降级为开放槽位。", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("irreplaceable") public Boolean getIrreplaceable() { return irreplaceable; } @JsonProperty("irreplaceable") public void setIrreplaceable(Boolean irreplaceable) { this.irreplaceable = irreplaceable; } public ProtectionNodeSummary irreplaceableReason(@Nullable String irreplaceableReason) { this.irreplaceableReason = irreplaceableReason; return this; } /** * 不可替换原因 * @return irreplaceableReason */ @Schema(name = "irreplaceableReason", description = "不可替换原因", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("irreplaceableReason") public @Nullable String getIrreplaceableReason() { return irreplaceableReason; } @JsonProperty("irreplaceableReason") public void setIrreplaceableReason(@Nullable String irreplaceableReason) { this.irreplaceableReason = irreplaceableReason; } public ProtectionNodeSummary chainKey(@Nullable String chainKey) { this.chainKey = chainKey; return this; } /** * 所属功能链路标识 * @return chainKey */ @Schema(name = "chainKey", description = "所属功能链路标识", 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 ProtectionNodeSummary auditSummary(@Nullable String auditSummary) { this.auditSummary = auditSummary; return this; } /** * 审计摘要 * @return auditSummary */ @Schema(name = "auditSummary", description = "审计摘要", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("auditSummary") public @Nullable String getAuditSummary() { return auditSummary; } @JsonProperty("auditSummary") public void setAuditSummary(@Nullable String auditSummary) { this.auditSummary = auditSummary; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ProtectionNodeSummary protectionNodeSummary = (ProtectionNodeSummary) o; return Objects.equals(this.nodeKey, protectionNodeSummary.nodeKey) && Objects.equals(this.displayName, protectionNodeSummary.displayName) && Objects.equals(this.nodeType, protectionNodeSummary.nodeType) && Objects.equals(this.irreplaceable, protectionNodeSummary.irreplaceable) && Objects.equals(this.irreplaceableReason, protectionNodeSummary.irreplaceableReason) && Objects.equals(this.chainKey, protectionNodeSummary.chainKey) && Objects.equals(this.auditSummary, protectionNodeSummary.auditSummary); } @Override public int hashCode() { return Objects.hash(nodeKey, displayName, nodeType, irreplaceable, irreplaceableReason, chainKey, auditSummary); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ProtectionNodeSummary {\n"); sb.append(" nodeKey: ").append(toIndentedString(nodeKey)).append("\n"); sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); sb.append(" irreplaceable: ").append(toIndentedString(irreplaceable)).append("\n"); sb.append(" irreplaceableReason: ").append(toIndentedString(irreplaceableReason)).append("\n"); sb.append(" chainKey: ").append(toIndentedString(chainKey)).append("\n"); sb.append(" auditSummary: ").append(toIndentedString(auditSummary)).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 "); } }