001
002package com.commercetools.history.models.common;
003
004import java.time.*;
005import java.util.*;
006
007import com.fasterxml.jackson.annotation.JsonCreator;
008import com.fasterxml.jackson.annotation.JsonProperty;
009import com.fasterxml.jackson.databind.annotation.*;
010
011import io.vrap.rmf.base.client.ModelBase;
012import io.vrap.rmf.base.client.utils.Generated;
013
014import org.apache.commons.lang3.builder.EqualsBuilder;
015import org.apache.commons.lang3.builder.HashCodeBuilder;
016
017/**
018 * SyncInfo
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class SyncInfoImpl implements SyncInfo, ModelBase {
022
023    private com.commercetools.history.models.common.Reference channel;
024
025    private String externalId;
026
027    private String syncedAt;
028
029    /**
030     * create instance with all properties
031     */
032    @JsonCreator
033    SyncInfoImpl(@JsonProperty("channel") final com.commercetools.history.models.common.Reference channel,
034            @JsonProperty("externalId") final String externalId, @JsonProperty("syncedAt") final String syncedAt) {
035        this.channel = channel;
036        this.externalId = externalId;
037        this.syncedAt = syncedAt;
038    }
039
040    /**
041     * create empty instance
042     */
043    public SyncInfoImpl() {
044    }
045
046    /**
047     *
048     */
049
050    public com.commercetools.history.models.common.Reference getChannel() {
051        return this.channel;
052    }
053
054    /**
055     *  <p>Can be used to reference an external order instance, file etc.</p>
056     */
057
058    public String getExternalId() {
059        return this.externalId;
060    }
061
062    /**
063     *
064     */
065
066    public String getSyncedAt() {
067        return this.syncedAt;
068    }
069
070    public void setChannel(final com.commercetools.history.models.common.Reference channel) {
071        this.channel = channel;
072    }
073
074    public void setExternalId(final String externalId) {
075        this.externalId = externalId;
076    }
077
078    public void setSyncedAt(final String syncedAt) {
079        this.syncedAt = syncedAt;
080    }
081
082    @Override
083    public boolean equals(Object o) {
084        if (this == o)
085            return true;
086
087        if (o == null || getClass() != o.getClass())
088            return false;
089
090        SyncInfoImpl that = (SyncInfoImpl) o;
091
092        return new EqualsBuilder().append(channel, that.channel)
093                .append(externalId, that.externalId)
094                .append(syncedAt, that.syncedAt)
095                .append(channel, that.channel)
096                .append(externalId, that.externalId)
097                .append(syncedAt, that.syncedAt)
098                .isEquals();
099    }
100
101    @Override
102    public int hashCode() {
103        return new HashCodeBuilder(17, 37).append(channel).append(externalId).append(syncedAt).toHashCode();
104    }
105
106}