Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.common.document.tax;import com.spice.profitmandi.common.model.CustomOrderItem;import java.util.List;/*** Renders the tax portion of the item table in the folded style (rate folded into each amount* cell). The state axis is the extension point: {@link IntraStateTaxColumns} emits CGST + SGST,* {@link InterStateTaxColumns} emits IGST. Adding a new tax presentation (e.g. UTGST, cess) means* adding an implementation here — no section or document change.*/public interface TaxColumns {/** Column header labels, one per tax column (e.g. {@code ["CGST","SGST"]} or {@code ["IGST"]}). */List<String> headerLabels();/** Per-line cells, one per tax column, each amount with its rate folded below. */List<String> lineCells(CustomOrderItem item);/** Adds this line's tax amounts to the running totals. */void accumulate(TaxTotals totals, CustomOrderItem item);/** Total-row cells, one per tax column. */List<String> totalCells(TaxTotals totals);}