Class BankingApprovalServiceImpl

java.lang.Object
org.j7m.middleware.examples.banking.BankingApprovalServiceImpl
All Implemented Interfaces:
BankingApprovalService

public final class BankingApprovalServiceImpl extends Object implements BankingApprovalService
Demonstration-only approval service.

This class intentionally contains no real banking logic. It only shows caller identity, annotation authorization, audit-safe logging, and sensitive value redaction patterns.

  • Constructor Details

    • BankingApprovalServiceImpl

      public BankingApprovalServiceImpl()
      Creates a service with an empty safe audit log.
  • Method Details

    • approvePayment

      public ApprovalResult approvePayment(PaymentId id, Money amount)
      Approves a payment request when the caller has the required role and permission.
      Specified by:
      approvePayment in interface BankingApprovalService
      Parameters:
      id - payment identifier
      amount - sensitive amount value
      Returns:
      approval result
    • auditLog

      public List<String> auditLog()
      Returns safe audit entries. Sensitive amount values are never included.
      Specified by:
      auditLog in interface BankingApprovalService
      Returns:
      immutable audit entries