package de.avatic.lcc.model.taric;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;

/**
 * Represents a measure component (duty rate, etc.)
 */
public class MeasureComponent {

    @JsonProperty("duty_expression_id")
    private String dutyExpressionId;

    @JsonProperty("duty_amount")
    private BigDecimal dutyAmount;

    @JsonProperty("monetary_unit_code")
    private String monetaryUnitCode;

    @JsonProperty("measurement_unit_code")
    private String measurementUnitCode;

    @JsonProperty("measurement_unit_qualifier_code")
    private String measurementUnitQualifierCode;

    @JsonProperty("duty_expression_description")
    private String dutyExpressionDescription;

    @JsonProperty("duty_expression_abbreviation")
    private String dutyExpressionAbbreviation;

    // Getters and Setters

    public String getDutyExpressionId() {
        return dutyExpressionId;
    }

    public void setDutyExpressionId(String dutyExpressionId) {
        this.dutyExpressionId = dutyExpressionId;
    }

    public BigDecimal getDutyAmount() {
        return dutyAmount;
    }

    public void setDutyAmount(BigDecimal dutyAmount) {
        this.dutyAmount = dutyAmount;
    }

    public String getMonetaryUnitCode() {
        return monetaryUnitCode;
    }

    public void setMonetaryUnitCode(String monetaryUnitCode) {
        this.monetaryUnitCode = monetaryUnitCode;
    }

    public String getMeasurementUnitCode() {
        return measurementUnitCode;
    }

    public void setMeasurementUnitCode(String measurementUnitCode) {
        this.measurementUnitCode = measurementUnitCode;
    }

    public String getMeasurementUnitQualifierCode() {
        return measurementUnitQualifierCode;
    }

    public void setMeasurementUnitQualifierCode(String measurementUnitQualifierCode) {
        this.measurementUnitQualifierCode = measurementUnitQualifierCode;
    }

    public String getDutyExpressionDescription() {
        return dutyExpressionDescription;
    }

    public void setDutyExpressionDescription(String dutyExpressionDescription) {
        this.dutyExpressionDescription = dutyExpressionDescription;
    }

    public String getDutyExpressionAbbreviation() {
        return dutyExpressionAbbreviation;
    }

    public void setDutyExpressionAbbreviation(String dutyExpressionAbbreviation) {
        this.dutyExpressionAbbreviation = dutyExpressionAbbreviation;
    }
}