001 002package com.commercetools.api.models.cart; 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>This update action results in the <code>taxedPrice</code> field being added to the Cart when the <code>ExternalAmount</code> TaxMode is used.</p> 019 */ 020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 021public class CartSetCartTotalTaxActionImpl implements CartSetCartTotalTaxAction, ModelBase { 022 023 private String action; 024 025 private com.commercetools.api.models.common.Money externalTotalGross; 026 027 private java.util.List<com.commercetools.api.models.cart.TaxPortionDraft> externalTaxPortions; 028 029 /** 030 * create instance with all properties 031 */ 032 @JsonCreator 033 CartSetCartTotalTaxActionImpl( 034 @JsonProperty("externalTotalGross") final com.commercetools.api.models.common.Money externalTotalGross, 035 @JsonProperty("externalTaxPortions") final java.util.List<com.commercetools.api.models.cart.TaxPortionDraft> externalTaxPortions) { 036 this.externalTotalGross = externalTotalGross; 037 this.externalTaxPortions = externalTaxPortions; 038 this.action = SET_CART_TOTAL_TAX; 039 } 040 041 /** 042 * create empty instance 043 */ 044 public CartSetCartTotalTaxActionImpl() { 045 this.action = SET_CART_TOTAL_TAX; 046 } 047 048 /** 049 * 050 */ 051 052 public String getAction() { 053 return this.action; 054 } 055 056 /** 057 * <p>The Cart's total gross price becoming the <code>totalGross</code> field (<code>totalNet</code> + taxes) on the Cart's <code>taxedPrice</code>.</p> 058 */ 059 060 public com.commercetools.api.models.common.Money getExternalTotalGross() { 061 return this.externalTotalGross; 062 } 063 064 /** 065 * <p>Set if the <code>externalTotalGross</code> price is a sum of portions with different tax rates.</p> 066 */ 067 068 public java.util.List<com.commercetools.api.models.cart.TaxPortionDraft> getExternalTaxPortions() { 069 return this.externalTaxPortions; 070 } 071 072 public void setExternalTotalGross(final com.commercetools.api.models.common.Money externalTotalGross) { 073 this.externalTotalGross = externalTotalGross; 074 } 075 076 public void setExternalTaxPortions(final com.commercetools.api.models.cart.TaxPortionDraft... externalTaxPortions) { 077 this.externalTaxPortions = new ArrayList<>(Arrays.asList(externalTaxPortions)); 078 } 079 080 public void setExternalTaxPortions( 081 final java.util.List<com.commercetools.api.models.cart.TaxPortionDraft> externalTaxPortions) { 082 this.externalTaxPortions = externalTaxPortions; 083 } 084 085 @Override 086 public boolean equals(Object o) { 087 if (this == o) 088 return true; 089 090 if (o == null || getClass() != o.getClass()) 091 return false; 092 093 CartSetCartTotalTaxActionImpl that = (CartSetCartTotalTaxActionImpl) o; 094 095 return new EqualsBuilder().append(action, that.action) 096 .append(externalTotalGross, that.externalTotalGross) 097 .append(externalTaxPortions, that.externalTaxPortions) 098 .isEquals(); 099 } 100 101 @Override 102 public int hashCode() { 103 return new HashCodeBuilder(17, 37).append(action) 104 .append(externalTotalGross) 105 .append(externalTaxPortions) 106 .toHashCode(); 107 } 108 109}