package io.delphiplatform.api.v3.model.ads;

import com.fasterxml.jackson.annotation.JsonProperty;

import org.openapitools.jackson.nullable.JsonNullable;

import java.util.Objects;

public class AdMeta {

    @JsonProperty("currency")
    private JsonNullable<AdCurrency> currency = JsonNullable.undefined();

    public AdMeta currency(AdCurrency currency) {
        this.currency = JsonNullable.of(currency);
        return this;
    }

    public JsonNullable<AdCurrency> getCurrency() {
        return currency;
    }

    public void setCurrency(
        JsonNullable<AdCurrency> currency) {
        this.currency = currency;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        AdMeta adDimensions = (AdMeta) o;
        return Objects.equals(this.currency, adDimensions.currency);
    }

    @Override
    public int hashCode() {
        return Objects
            .hash(currency);
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class AdMeta {\n");
        sb.append("    currency: ").append(toIndentedString(currency)).append("\n");
        sb.append("}");
        return sb.toString();
    }

    private String toIndentedString(Object o) {
        if (o == null) {
            return "null";
        }
        return o.toString().replace("\n", "\n    ");
    }
}
