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.JsonTypeName; 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; /** * AppUsageSummaryByAttributionInner */ @JsonTypeName("AppUsageSummary_byAttribution_inner") @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 AppUsageSummaryByAttributionInner implements Serializable { private static final long serialVersionUID = 1L; /** * Gets or Sets attributionType */ public enum AttributionTypeEnum { WORK("work"), AGENT("agent"), KNOWLEDGE("knowledge"), MARKET("market"); private final String value; AttributionTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static AttributionTypeEnum fromValue(String value) { for (AttributionTypeEnum b : AttributionTypeEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private @Nullable AttributionTypeEnum attributionType; private @Nullable Integer tokens; private @Nullable String label; public AppUsageSummaryByAttributionInner attributionType(@Nullable AttributionTypeEnum attributionType) { this.attributionType = attributionType; return this; } /** * Get attributionType * @return attributionType */ @Schema(name = "attributionType", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("attributionType") public @Nullable AttributionTypeEnum getAttributionType() { return attributionType; } @JsonProperty("attributionType") public void setAttributionType(@Nullable AttributionTypeEnum attributionType) { this.attributionType = attributionType; } public AppUsageSummaryByAttributionInner tokens(@Nullable Integer tokens) { this.tokens = tokens; return this; } /** * Get tokens * @return tokens */ @Schema(name = "tokens", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("tokens") public @Nullable Integer getTokens() { return tokens; } @JsonProperty("tokens") public void setTokens(@Nullable Integer tokens) { this.tokens = tokens; } public AppUsageSummaryByAttributionInner label(@Nullable String label) { this.label = label; return this; } /** * Get label * @return label */ @Schema(name = "label", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("label") public @Nullable String getLabel() { return label; } @JsonProperty("label") public void setLabel(@Nullable String label) { this.label = label; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AppUsageSummaryByAttributionInner appUsageSummaryByAttributionInner = (AppUsageSummaryByAttributionInner) o; return Objects.equals(this.attributionType, appUsageSummaryByAttributionInner.attributionType) && Objects.equals(this.tokens, appUsageSummaryByAttributionInner.tokens) && Objects.equals(this.label, appUsageSummaryByAttributionInner.label); } @Override public int hashCode() { return Objects.hash(attributionType, tokens, label); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AppUsageSummaryByAttributionInner {\n"); sb.append(" attributionType: ").append(toIndentedString(attributionType)).append("\n"); sb.append(" tokens: ").append(toIndentedString(tokens)).append("\n"); sb.append(" label: ").append(toIndentedString(label)).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 "); } }