001
002package com.commercetools.ml.models.similar_products;
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 *  <p>A pair of SimilarProducts</p>
019 */
020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
021public class SimilarProductPairImpl implements SimilarProductPair, ModelBase {
022
023    private Double confidence;
024
025    private java.util.List<com.commercetools.ml.models.similar_products.SimilarProduct> products;
026
027    @JsonCreator
028    SimilarProductPairImpl(@JsonProperty("confidence") final Double confidence,
029            @JsonProperty("products") final java.util.List<com.commercetools.ml.models.similar_products.SimilarProduct> products) {
030        this.confidence = confidence;
031        this.products = products;
032    }
033
034    public SimilarProductPairImpl() {
035    }
036
037    /**
038     *  <p>The probability of product similarity.</p>
039     */
040
041    public Double getConfidence() {
042        return this.confidence;
043    }
044
045    /**
046     *
047     */
048
049    public java.util.List<com.commercetools.ml.models.similar_products.SimilarProduct> getProducts() {
050        return this.products;
051    }
052
053    public void setConfidence(final Double confidence) {
054        this.confidence = confidence;
055    }
056
057    public void setProducts(final com.commercetools.ml.models.similar_products.SimilarProduct... products) {
058        this.products = new ArrayList<>(Arrays.asList(products));
059    }
060
061    public void setProducts(
062            final java.util.List<com.commercetools.ml.models.similar_products.SimilarProduct> products) {
063        this.products = products;
064    }
065
066    @Override
067    public boolean equals(Object o) {
068        if (this == o)
069            return true;
070
071        if (o == null || getClass() != o.getClass())
072            return false;
073
074        SimilarProductPairImpl that = (SimilarProductPairImpl) o;
075
076        return new EqualsBuilder().append(confidence, that.confidence).append(products, that.products).isEquals();
077    }
078
079    @Override
080    public int hashCode() {
081        return new HashCodeBuilder(17, 37).append(confidence).append(products).toHashCode();
082    }
083
084}