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

import com.fasterxml.jackson.annotation.JsonProperty;

import org.openapitools.jackson.nullable.JsonNullable;


public class LinkfireDimensions {

    @JsonProperty("link_id")
    private JsonNullable<String> linkId = JsonNullable.undefined();

    @JsonProperty("link_type")
    private JsonNullable<String> linkType = JsonNullable.undefined();

    @JsonProperty("link_url")
    private JsonNullable<String> linkUrl = JsonNullable.undefined();

    @JsonProperty("referrer")
    private JsonNullable<String> referrer = JsonNullable.undefined();

    @JsonProperty("referrer_domain")
    private JsonNullable<String> referrerDomain = JsonNullable.undefined();

    public LinkfireDimensions linkId(String linkId) {
        this.linkId = JsonNullable.of(linkId);
        return this;
    }

    public JsonNullable<String> getLinkId() {
        return linkId;
    }

    public void setLinkId(JsonNullable<String> linkId) {
        this.linkId = linkId;
    }

    public LinkfireDimensions linkType(String linkType) {
        this.linkType = JsonNullable.of(linkType);
        return this;
    }

    public JsonNullable<String> getLinkType() {
        return linkType;
    }

    public void setLinkType(JsonNullable<String> linkType) {
        this.linkType = linkType;
    }

    public LinkfireDimensions linkUrl(String linkUrl) {
        this.linkUrl = JsonNullable.of(linkUrl);
        return this;
    }

    public JsonNullable<String> getLinkUrl() {
        return linkUrl;
    }

    public void setLinkUrl(JsonNullable<String> linkUrl) {
        this.linkUrl = linkUrl;
    }

    public LinkfireDimensions referrer(String referrer) {
        this.referrer = JsonNullable.of(referrer);
        return this;
    }

    public JsonNullable<String> getReferrer() {
        return referrer;
    }

    public void setReferrer(JsonNullable<String> referrer) {
        this.referrer = referrer;
    }

    public LinkfireDimensions referrerDomain(String referrerDomain) {
        this.referrerDomain = JsonNullable.of(referrerDomain);
        return this;
    }

    public JsonNullable<String> getReferrerDomain() {
        return referrerDomain;
    }

    public void setReferrerDomain(JsonNullable<String> referrerDomain) {
        this.referrerDomain = referrerDomain;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class LinkfireDimensions {\n");

        sb.append("    linkId: ").append(toIndentedString(linkId)).append("\n");
        sb.append("    linkType: ").append(toIndentedString(linkType)).append("\n");
        sb.append("    linkUrl: ").append(toIndentedString(linkUrl)).append("\n");
        sb.append("    referrer: ").append(toIndentedString(referrer)).append("\n");
        sb.append("    referrerDomain: ").append(toIndentedString(referrerDomain)).append("\n");
        sb.append("}");
        return sb.toString();
    }

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

