Class DebitCard

All Implemented Interfaces:
Serializable, org.jmolecules.ddd.types.ValueObject

public final class DebitCard extends PaymentCard
A debit card provides the holder with electronic access to his or her bank account. A payment made with such a card is represented by an instance of the class DebitCard.
Author:
Hannes Weisbach, Oliver Gierke
See Also:
  • Constructor Details

    • DebitCard

      public DebitCard(String cardName, String cardAssociationName, String cardNumber, String nameOnCard, String billingAddress, LocalDateTime validFrom, LocalDateTime expiryDate, String cardVerificationCode, javax.money.MonetaryAmount dailyWithdrawalLimit)
      Instantiates a specific type of debit card.
      Parameters:
      cardName - The name of this card, e.g. Maestro or MasterCard.
      cardAssociationName - the name of the association which issued the card
      cardNumber - the number of this card
      nameOnCard - name of the card owner
      billingAddress - the address to which account statements are sent
      validFrom - date from which the card is valid
      expiryDate - date on which the card expires
      cardVerificationCode - verification code printed on the card or a PIN
      dailyWithdrawalLimit - Money representing the line of credit extended by the issuing association to the card owner
    • DebitCard

      public DebitCard(String cardAssociationName, String cardNumber, String nameOnCard, String billingAddress, LocalDateTime validFrom, LocalDateTime expiryDate, String cardVerificationCode, javax.money.MonetaryAmount dailyWithdrawalLimit)
      Instantiates a generic debit card.
      Parameters:
      cardAssociationName - the name of the association which issued the card
      cardNumber - the number of this card
      nameOnCard - name of the card owner
      billingAddress - the address to which account statements are sent
      validFrom - date from which the card is valid
      expiryDate - date on which the card expires
      cardVerificationCode - verification code printed on the card or a PIN
      dailyWithdrawalLimit - Money representing the line of credit extended by the issuing association to the card owner
  • Method Details

    • getDailyWithdrawalLimit

      public javax.money.MonetaryAmount getDailyWithdrawalLimit()
      Amount of money, the card holder can dispose of within a day.
    • toString

      public String toString()
      Overrides:
      toString in class PaymentCard
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class PaymentCard
    • canEqual

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class PaymentCard
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class PaymentCard