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 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; /** * FunctionChainSummary */ @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 FunctionChainSummary implements Serializable { private static final long serialVersionUID = 1L; private String chainKey; private String displayName; private @Nullable String description; private Integer activeVersion; private @Nullable Integer openSlotCount; private @Nullable Integer protectionNodeCount; @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private @Nullable OffsetDateTime updatedAt; public FunctionChainSummary() { super(); } /** * Constructor with only required parameters */ public FunctionChainSummary(String chainKey, String displayName, Integer activeVersion) { this.chainKey = chainKey; this.displayName = displayName; this.activeVersion = activeVersion; } public FunctionChainSummary chainKey(String chainKey) { this.chainKey = chainKey; return this; } /** * 功能链路业务标识 * @return chainKey */ @NotNull @Schema(name = "chainKey", description = "功能链路业务标识", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("chainKey") public String getChainKey() { return chainKey; } @JsonProperty("chainKey") public void setChainKey(String chainKey) { this.chainKey = chainKey; } public FunctionChainSummary 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 FunctionChainSummary description(@Nullable String description) { this.description = description; return this; } /** * Get description * @return description */ @Schema(name = "description", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("description") public @Nullable String getDescription() { return description; } @JsonProperty("description") public void setDescription(@Nullable String description) { this.description = description; } public FunctionChainSummary activeVersion(Integer activeVersion) { this.activeVersion = activeVersion; return this; } /** * Get activeVersion * @return activeVersion */ @NotNull @Schema(name = "activeVersion", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("activeVersion") public Integer getActiveVersion() { return activeVersion; } @JsonProperty("activeVersion") public void setActiveVersion(Integer activeVersion) { this.activeVersion = activeVersion; } public FunctionChainSummary openSlotCount(@Nullable Integer openSlotCount) { this.openSlotCount = openSlotCount; return this; } /** * 开放槽位数 * @return openSlotCount */ @Schema(name = "openSlotCount", description = "开放槽位数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("openSlotCount") public @Nullable Integer getOpenSlotCount() { return openSlotCount; } @JsonProperty("openSlotCount") public void setOpenSlotCount(@Nullable Integer openSlotCount) { this.openSlotCount = openSlotCount; } public FunctionChainSummary protectionNodeCount(@Nullable Integer protectionNodeCount) { this.protectionNodeCount = protectionNodeCount; return this; } /** * 保护节点数 * @return protectionNodeCount */ @Schema(name = "protectionNodeCount", description = "保护节点数", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("protectionNodeCount") public @Nullable Integer getProtectionNodeCount() { return protectionNodeCount; } @JsonProperty("protectionNodeCount") public void setProtectionNodeCount(@Nullable Integer protectionNodeCount) { this.protectionNodeCount = protectionNodeCount; } public FunctionChainSummary updatedAt(@Nullable OffsetDateTime updatedAt) { this.updatedAt = updatedAt; return this; } /** * Get updatedAt * @return updatedAt */ @Valid @Schema(name = "updatedAt", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("updatedAt") public @Nullable OffsetDateTime getUpdatedAt() { return updatedAt; } @JsonProperty("updatedAt") public void setUpdatedAt(@Nullable OffsetDateTime updatedAt) { this.updatedAt = updatedAt; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } FunctionChainSummary functionChainSummary = (FunctionChainSummary) o; return Objects.equals(this.chainKey, functionChainSummary.chainKey) && Objects.equals(this.displayName, functionChainSummary.displayName) && Objects.equals(this.description, functionChainSummary.description) && Objects.equals(this.activeVersion, functionChainSummary.activeVersion) && Objects.equals(this.openSlotCount, functionChainSummary.openSlotCount) && Objects.equals(this.protectionNodeCount, functionChainSummary.protectionNodeCount) && Objects.equals(this.updatedAt, functionChainSummary.updatedAt); } @Override public int hashCode() { return Objects.hash(chainKey, displayName, description, activeVersion, openSlotCount, protectionNodeCount, updatedAt); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class FunctionChainSummary {\n"); sb.append(" chainKey: ").append(toIndentedString(chainKey)).append("\n"); sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" activeVersion: ").append(toIndentedString(activeVersion)).append("\n"); sb.append(" openSlotCount: ").append(toIndentedString(openSlotCount)).append("\n"); sb.append(" protectionNodeCount: ").append(toIndentedString(protectionNodeCount)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).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 "); } }