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 * ShippingRate 019 */ 020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 021public class ShippingRateImpl implements ShippingRate, ModelBase { 022 023 private com.commercetools.history.models.common.Money price; 024 025 private com.commercetools.history.models.common.Money freeAbove; 026 027 private Boolean isMatching; 028 029 private java.util.List<com.commercetools.history.models.common.ShippingRatePriceTier> tiers; 030 031 /** 032 * create instance with all properties 033 */ 034 @JsonCreator 035 ShippingRateImpl(@JsonProperty("price") final com.commercetools.history.models.common.Money price, 036 @JsonProperty("freeAbove") final com.commercetools.history.models.common.Money freeAbove, 037 @JsonProperty("isMatching") final Boolean isMatching, 038 @JsonProperty("tiers") final java.util.List<com.commercetools.history.models.common.ShippingRatePriceTier> tiers) { 039 this.price = price; 040 this.freeAbove = freeAbove; 041 this.isMatching = isMatching; 042 this.tiers = tiers; 043 } 044 045 /** 046 * create empty instance 047 */ 048 public ShippingRateImpl() { 049 } 050 051 /** 052 * 053 */ 054 055 public com.commercetools.history.models.common.Money getPrice() { 056 return this.price; 057 } 058 059 /** 060 * 061 */ 062 063 public com.commercetools.history.models.common.Money getFreeAbove() { 064 return this.freeAbove; 065 } 066 067 /** 068 * <p>Only appears in response to requests for ShippingMethods by Cart or location to mark this shipping rate as one that matches the Cart or location.</p> 069 */ 070 071 public Boolean getIsMatching() { 072 return this.isMatching; 073 } 074 075 /** 076 * 077 */ 078 079 public java.util.List<com.commercetools.history.models.common.ShippingRatePriceTier> getTiers() { 080 return this.tiers; 081 } 082 083 public void setPrice(final com.commercetools.history.models.common.Money price) { 084 this.price = price; 085 } 086 087 public void setFreeAbove(final com.commercetools.history.models.common.Money freeAbove) { 088 this.freeAbove = freeAbove; 089 } 090 091 public void setIsMatching(final Boolean isMatching) { 092 this.isMatching = isMatching; 093 } 094 095 public void setTiers(final com.commercetools.history.models.common.ShippingRatePriceTier... tiers) { 096 this.tiers = new ArrayList<>(Arrays.asList(tiers)); 097 } 098 099 public void setTiers(final java.util.List<com.commercetools.history.models.common.ShippingRatePriceTier> tiers) { 100 this.tiers = tiers; 101 } 102 103 @Override 104 public boolean equals(Object o) { 105 if (this == o) 106 return true; 107 108 if (o == null || getClass() != o.getClass()) 109 return false; 110 111 ShippingRateImpl that = (ShippingRateImpl) o; 112 113 return new EqualsBuilder().append(price, that.price) 114 .append(freeAbove, that.freeAbove) 115 .append(isMatching, that.isMatching) 116 .append(tiers, that.tiers) 117 .append(price, that.price) 118 .append(freeAbove, that.freeAbove) 119 .append(isMatching, that.isMatching) 120 .append(tiers, that.tiers) 121 .isEquals(); 122 } 123 124 @Override 125 public int hashCode() { 126 return new HashCodeBuilder(17, 37).append(price) 127 .append(freeAbove) 128 .append(isMatching) 129 .append(tiers) 130 .toHashCode(); 131 } 132 133}