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.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; /** * AgentSlotSummary */ @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 AgentSlotSummary implements Serializable { private static final long serialVersionUID = 1L; private String slotKey; private String slotName; private @Nullable String slotType; private Boolean _protected; private @Nullable UUID boundAgentId; private @Nullable String boundAgentName; private @Nullable Integer boundAgentVersion; private Integer revision; private @Nullable String sourceStatus; public AgentSlotSummary() { super(); } /** * Constructor with only required parameters */ public AgentSlotSummary(String slotKey, String slotName, Boolean _protected, Integer revision) { this.slotKey = slotKey; this.slotName = slotName; this._protected = _protected; this.revision = revision; } public AgentSlotSummary slotKey(String slotKey) { this.slotKey = slotKey; return this; } /** * 槽位标识 * @return slotKey */ @NotNull @Schema(name = "slotKey", description = "槽位标识", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("slotKey") public String getSlotKey() { return slotKey; } @JsonProperty("slotKey") public void setSlotKey(String slotKey) { this.slotKey = slotKey; } public AgentSlotSummary slotName(String slotName) { this.slotName = slotName; return this; } /** * 槽位名称 * @return slotName */ @NotNull @Schema(name = "slotName", description = "槽位名称", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("slotName") public String getSlotName() { return slotName; } @JsonProperty("slotName") public void setSlotName(String slotName) { this.slotName = slotName; } public AgentSlotSummary slotType(@Nullable String slotType) { this.slotType = slotType; return this; } /** * 槽位类型 * @return slotType */ @Schema(name = "slotType", description = "槽位类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("slotType") public @Nullable String getSlotType() { return slotType; } @JsonProperty("slotType") public void setSlotType(@Nullable String slotType) { this.slotType = slotType; } public AgentSlotSummary _protected(Boolean _protected) { this._protected = _protected; return this; } /** * 是否为保护节点(保护节点不可替换) * @return _protected */ @NotNull @Schema(name = "protected", description = "是否为保护节点(保护节点不可替换)", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("protected") public Boolean getProtected() { return _protected; } @JsonProperty("protected") public void setProtected(Boolean _protected) { this._protected = _protected; } public AgentSlotSummary boundAgentId(@Nullable UUID boundAgentId) { this.boundAgentId = boundAgentId; return this; } /** * 已绑定的智能体 ID * @return boundAgentId */ @Valid @Schema(name = "boundAgentId", description = "已绑定的智能体 ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("boundAgentId") public @Nullable UUID getBoundAgentId() { return boundAgentId; } @JsonProperty("boundAgentId") public void setBoundAgentId(@Nullable UUID boundAgentId) { this.boundAgentId = boundAgentId; } public AgentSlotSummary boundAgentName(@Nullable String boundAgentName) { this.boundAgentName = boundAgentName; return this; } /** * 已绑定的智能体名称 * @return boundAgentName */ @Schema(name = "boundAgentName", description = "已绑定的智能体名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("boundAgentName") public @Nullable String getBoundAgentName() { return boundAgentName; } @JsonProperty("boundAgentName") public void setBoundAgentName(@Nullable String boundAgentName) { this.boundAgentName = boundAgentName; } public AgentSlotSummary boundAgentVersion(@Nullable Integer boundAgentVersion) { this.boundAgentVersion = boundAgentVersion; return this; } /** * 已绑定的智能体版本 * @return boundAgentVersion */ @Schema(name = "boundAgentVersion", description = "已绑定的智能体版本", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("boundAgentVersion") public @Nullable Integer getBoundAgentVersion() { return boundAgentVersion; } @JsonProperty("boundAgentVersion") public void setBoundAgentVersion(@Nullable Integer boundAgentVersion) { this.boundAgentVersion = boundAgentVersion; } public AgentSlotSummary revision(Integer revision) { this.revision = revision; return this; } /** * 槽位当前 revision * @return revision */ @NotNull @Schema(name = "revision", description = "槽位当前 revision", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("revision") public Integer getRevision() { return revision; } @JsonProperty("revision") public void setRevision(Integer revision) { this.revision = revision; } public AgentSlotSummary sourceStatus(@Nullable String sourceStatus) { this.sourceStatus = sourceStatus; return this; } /** * 来源状态 * @return sourceStatus */ @Schema(name = "sourceStatus", description = "来源状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("sourceStatus") public @Nullable String getSourceStatus() { return sourceStatus; } @JsonProperty("sourceStatus") public void setSourceStatus(@Nullable String sourceStatus) { this.sourceStatus = sourceStatus; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AgentSlotSummary agentSlotSummary = (AgentSlotSummary) o; return Objects.equals(this.slotKey, agentSlotSummary.slotKey) && Objects.equals(this.slotName, agentSlotSummary.slotName) && Objects.equals(this.slotType, agentSlotSummary.slotType) && Objects.equals(this._protected, agentSlotSummary._protected) && Objects.equals(this.boundAgentId, agentSlotSummary.boundAgentId) && Objects.equals(this.boundAgentName, agentSlotSummary.boundAgentName) && Objects.equals(this.boundAgentVersion, agentSlotSummary.boundAgentVersion) && Objects.equals(this.revision, agentSlotSummary.revision) && Objects.equals(this.sourceStatus, agentSlotSummary.sourceStatus); } @Override public int hashCode() { return Objects.hash(slotKey, slotName, slotType, _protected, boundAgentId, boundAgentName, boundAgentVersion, revision, sourceStatus); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AgentSlotSummary {\n"); sb.append(" slotKey: ").append(toIndentedString(slotKey)).append("\n"); sb.append(" slotName: ").append(toIndentedString(slotName)).append("\n"); sb.append(" slotType: ").append(toIndentedString(slotType)).append("\n"); sb.append(" _protected: ").append(toIndentedString(_protected)).append("\n"); sb.append(" boundAgentId: ").append(toIndentedString(boundAgentId)).append("\n"); sb.append(" boundAgentName: ").append(toIndentedString(boundAgentName)).append("\n"); sb.append(" boundAgentVersion: ").append(toIndentedString(boundAgentVersion)).append("\n"); sb.append(" revision: ").append(toIndentedString(revision)).append("\n"); sb.append(" sourceStatus: ").append(toIndentedString(sourceStatus)).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 "); } }