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 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; /** * MetaField 可见性策略。 uiVisible=false 不代表不能进入 AI 上下文;aiContext=true 不代表用户可见; exportable=true 仍必须受 owner、授权、来源状态和导出许可约束。 */ @Schema(name = "MetaFieldVisibility", description = "MetaField 可见性策略。 uiVisible=false 不代表不能进入 AI 上下文;aiContext=true 不代表用户可见; exportable=true 仍必须受 owner、授权、来源状态和导出许可约束。 ") @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 MetaFieldVisibility implements Serializable { private static final long serialVersionUID = 1L; private Boolean uiVisible = true; private Boolean aiContext = true; private Boolean userEditable = false; private Boolean userSearchable = false; private Boolean exportable = false; public MetaFieldVisibility uiVisible(Boolean uiVisible) { this.uiVisible = uiVisible; return this; } /** * 是否进入用户可见投影 * @return uiVisible */ @Schema(name = "uiVisible", description = "是否进入用户可见投影", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("uiVisible") public Boolean getUiVisible() { return uiVisible; } @JsonProperty("uiVisible") public void setUiVisible(Boolean uiVisible) { this.uiVisible = uiVisible; } public MetaFieldVisibility aiContext(Boolean aiContext) { this.aiContext = aiContext; return this; } /** * 是否允许进入 AI 上下文组装 * @return aiContext */ @Schema(name = "aiContext", description = "是否允许进入 AI 上下文组装", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("aiContext") public Boolean getAiContext() { return aiContext; } @JsonProperty("aiContext") public void setAiContext(Boolean aiContext) { this.aiContext = aiContext; } public MetaFieldVisibility userEditable(Boolean userEditable) { this.userEditable = userEditable; return this; } /** * 用户端是否允许保存该动态字段 * @return userEditable */ @Schema(name = "userEditable", description = "用户端是否允许保存该动态字段", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("userEditable") public Boolean getUserEditable() { return userEditable; } @JsonProperty("userEditable") public void setUserEditable(Boolean userEditable) { this.userEditable = userEditable; } public MetaFieldVisibility userSearchable(Boolean userSearchable) { this.userSearchable = userSearchable; return this; } /** * 是否允许用户搜索或筛选 * @return userSearchable */ @Schema(name = "userSearchable", description = "是否允许用户搜索或筛选", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("userSearchable") public Boolean getUserSearchable() { return userSearchable; } @JsonProperty("userSearchable") public void setUserSearchable(Boolean userSearchable) { this.userSearchable = userSearchable; } public MetaFieldVisibility exportable(Boolean exportable) { this.exportable = exportable; return this; } /** * 是否可被导出预检纳入 * @return exportable */ @Schema(name = "exportable", description = "是否可被导出预检纳入", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("exportable") public Boolean getExportable() { return exportable; } @JsonProperty("exportable") public void setExportable(Boolean exportable) { this.exportable = exportable; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MetaFieldVisibility metaFieldVisibility = (MetaFieldVisibility) o; return Objects.equals(this.uiVisible, metaFieldVisibility.uiVisible) && Objects.equals(this.aiContext, metaFieldVisibility.aiContext) && Objects.equals(this.userEditable, metaFieldVisibility.userEditable) && Objects.equals(this.userSearchable, metaFieldVisibility.userSearchable) && Objects.equals(this.exportable, metaFieldVisibility.exportable); } @Override public int hashCode() { return Objects.hash(uiVisible, aiContext, userEditable, userSearchable, exportable); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class MetaFieldVisibility {\n"); sb.append(" uiVisible: ").append(toIndentedString(uiVisible)).append("\n"); sb.append(" aiContext: ").append(toIndentedString(aiContext)).append("\n"); sb.append(" userEditable: ").append(toIndentedString(userEditable)).append("\n"); sb.append(" userSearchable: ").append(toIndentedString(userSearchable)).append("\n"); sb.append(" exportable: ").append(toIndentedString(exportable)).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 "); } }