Interface LoanService
public interface LoanService
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic enum -
Method Summary
Modifier and TypeMethodDescriptionapplyLateFee(UUID loanId, BigDecimal fee, net.kyori.adventure.text.Component reason) declareDefault(UUID loanId, net.kyori.adventure.text.Component reason) fetchActiveLoans(Account borrower) issueCollateralizedLoan(Account borrower, Account lender, Currency currency, BigDecimal principal, BigDecimal interestRate, Duration term, Collection<org.bukkit.inventory.ItemStack> collateral, EconomyContext context, net.kyori.adventure.text.Component reason) issueLoan(Account borrower, Account lender, Currency currency, BigDecimal principal, BigDecimal interestRate, Duration term, EconomyContext context, net.kyori.adventure.text.Component reason) payInstallment(UUID loanId, BigDecimal amount, net.kyori.adventure.text.Component reason) payoffCompletely(UUID loanId, net.kyori.adventure.text.Component reason) seizeCollateral(UUID loanId, net.kyori.adventure.text.Component reason)
-
Method Details
-
issueLoan
CompletableFuture<LoanService.Loan> issueLoan(Account borrower, Account lender, Currency currency, BigDecimal principal, BigDecimal interestRate, Duration term, EconomyContext context, net.kyori.adventure.text.Component reason) -
issueCollateralizedLoan
CompletableFuture<LoanService.Loan> issueCollateralizedLoan(Account borrower, Account lender, Currency currency, BigDecimal principal, BigDecimal interestRate, Duration term, Collection<org.bukkit.inventory.ItemStack> collateral, EconomyContext context, net.kyori.adventure.text.Component reason) -
payInstallment
CompletableFuture<TransactionResult> payInstallment(UUID loanId, BigDecimal amount, net.kyori.adventure.text.Component reason) -
payoffCompletely
CompletableFuture<TransactionResult> payoffCompletely(UUID loanId, net.kyori.adventure.text.Component reason) -
declareDefault
CompletableFuture<TransactionResult> declareDefault(UUID loanId, net.kyori.adventure.text.Component reason) -
seizeCollateral
CompletableFuture<TransactionResult> seizeCollateral(UUID loanId, net.kyori.adventure.text.Component reason) -
applyLateFee
CompletableFuture<TransactionResult> applyLateFee(UUID loanId, BigDecimal fee, net.kyori.adventure.text.Component reason) -
fetch
-
fetchActiveLoans
-