TariffSearchResult.java
package com.tradecloud.dto.duties;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tradecloud.domain.sars.SARSTariff;
import com.tradecloud.tariffing.domain.AntiDumping;
import com.tradecloud.tariffing.domain.BaseTariff;
import com.tradecloud.tariffing.domain.Duty;
import com.tradecloud.tariffing.domain.Tariff;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
/**
*
*/
public class TariffSearchResult implements SARSTariff {
// This is a workaround for how the tariff server returns the total count.
// It wraps the return value in a a TariffSearchResults class which has the page and total.
// Our framework prefers separate calls. One to get the total first, then get the page
@JsonIgnore
private int totalResultsCountHack;
private Tariff tariff;
private BaseTariff baseTariff;
private AntiDumping antiDumping;
private List<BaseTariff> rebateTariffs;
public Tariff getTariff() {
return tariff;
}
public void setTariff(Tariff tariff) {
this.tariff = tariff;
}
public BaseTariff getBaseTariff() {
return baseTariff;
}
public void setBaseTariff(BaseTariff baseTariff) {
this.baseTariff = baseTariff;
}
public int getTotalResultsCountHack() {
return totalResultsCountHack;
}
public void setTotalResultsCountHack(int totalResultsCountHack) {
this.totalResultsCountHack = totalResultsCountHack;
}
/**
* This is a utility method to get the duties on the Tariff object as a list.
* It is here because it is used from the UI, which only gets this object passed in. Otherwise it would be in a util.
* TODO. Move elsewhere. Debugging shows this gets called about 5 times. Cache once when the tariff is selected
*
* @return List of duties.
*/
public List<Entry<String, Duty>> getDutiesAsList() {
return TariffGeneralHelper.getDutiesAsList(tariff);
}
@Override
@JsonIgnore
public String getDescription() {
return tariff != null ? tariff.getDescription() : "";
}
@Override
@JsonIgnore
public String getUnit() {
return tariff != null ? tariff.getDutyUnit() : "";
}
public List<BaseTariff> getRebateTariffs() {
if (rebateTariffs == null) {
rebateTariffs = new ArrayList<>();
}
return rebateTariffs;
}
public void setRebateTariffs(List<BaseTariff> rebateTariffs) {
this.rebateTariffs = rebateTariffs;
}
public void addRebateTariff(BaseTariff baseTariff) {
getRebateTariffs().add(baseTariff);
}
public AntiDumping getAntiDumping() {
return antiDumping;
}
public void setAntiDumping(AntiDumping antiDumping) {
this.antiDumping = antiDumping;
}
@Override
public String getCode() {
return tariff != null ? tariff.getCode() : null;
}
}