Class LoyaltyCardAssignmentPayload

  • All Implemented Interfaces:
    AuditLog

    public class LoyaltyCardAssignmentPayload
    extends Object
    implements AuditLog
    Represents the payload for assigning a loyalty card to a customer. It supports either assigning a digital card or a preallocated card, but not both at the same time. Implements the AuditLog interface for auditing the assignment details.
    Author:
    nikritikos
    • Constructor Detail

      • LoyaltyCardAssignmentPayload

        public LoyaltyCardAssignmentPayload()
    • Method Detail

      • isAssignmentMethodUnique

        @AssertTrue(message="Cannot assign card using both preallocated card and digital card data")
        public boolean isAssignmentMethodUnique()
        Ensures that only one assignment method is provided (digital card or preallocated card)
      • isAtLeastOneAssignmentMethodProvided

        @AssertTrue(message="At least one of digitalCardData, preallocatedCard must be provided")
        public boolean isAtLeastOneAssignmentMethodProvided()
        Ensures that at least one card assignment method is provided
      • getDigitalCardData

        public DigitalCardCreationPayload getDigitalCardData()
        Getters and setters for digitalCardData and preallocatedCard
      • getPreallocatedCard

        public String getPreallocatedCard()
      • setPreallocatedCard

        public void setPreallocatedCard​(String preallocatedCard)
      • toJsonAuditLog

        public String toJsonAuditLog()
        Generates an audit log entry as a JSON-like string
        Specified by:
        toJsonAuditLog in interface AuditLog
        Returns:
        A JSON-formatted string representing the audit log entry.