Interface TaxService
public interface TaxService
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic final record -
Method Summary
Modifier and TypeMethodDescriptionbrackets(EconomyContext context, Currency currency) calculate(Account source, Account target, Currency currency, BigDecimal amount, EconomyContext context) evaluateAndDeduct(Account source, Account target, Currency currency, BigDecimal amount, EconomyContext context) isExempt(EconomyContext context, Account account, Currency currency) removeBracket(EconomyContext context, Currency currency, BigDecimal minAmount, BigDecimal maxAmount) setBracket(EconomyContext context, Currency currency, BigDecimal minAmount, BigDecimal maxAmount, BigDecimal rate) setExemption(EconomyContext context, Account account, Currency currency, boolean exempt) setFlatRate(EconomyContext context, Currency currency, BigDecimal rateMultiplier)
-
Method Details
-
calculate
CompletableFuture<BigDecimal> calculate(Account source, Account target, Currency currency, BigDecimal amount, EconomyContext context) -
evaluateAndDeduct
CompletableFuture<TaxService.TaxReceipt> evaluateAndDeduct(Account source, Account target, Currency currency, BigDecimal amount, EconomyContext context) -
setFlatRate
CompletableFuture<Void> setFlatRate(EconomyContext context, Currency currency, BigDecimal rateMultiplier) -
setBracket
CompletableFuture<Void> setBracket(EconomyContext context, Currency currency, BigDecimal minAmount, BigDecimal maxAmount, BigDecimal rate) -
removeBracket
CompletableFuture<Void> removeBracket(EconomyContext context, Currency currency, BigDecimal minAmount, BigDecimal maxAmount) -
brackets
CompletableFuture<Collection<TaxService.TaxBracket>> brackets(EconomyContext context, Currency currency) -
setExemption
CompletableFuture<Void> setExemption(EconomyContext context, Account account, Currency currency, boolean exempt) -
isExempt
-