Enum IbanCheckDigit

java.lang.Object
java.lang.Enum<IbanCheckDigit>
fr.marcwrobel.jbanking.iban.IbanCheckDigit
All Implemented Interfaces:
Serializable, Comparable<IbanCheckDigit>, java.lang.constant.Constable

public enum IbanCheckDigit extends Enum<IbanCheckDigit>
Provide ISO 7064 Mod 97,10 IBAN check digit calculation and validation.

This class is implementing the singleton pattern by being an enumeration. Algorithm is based on the Apache commons-validator's IBANCheckDigit.

Since:
1.0
See Also:
  • Enum Constant Details

    • INSTANCE

      public static final IbanCheckDigit INSTANCE
      The singleton instance for this class.
  • Method Details

    • values

      public static IbanCheckDigit[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static IbanCheckDigit valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • validate

      public boolean validate(String iban)
      Validate the given IBAN check digit.
      Parameters:
      iban - a non-null string.
      Returns:
      true if the given IBAN check digit is valid, false otherwise.
      Throws:
      IllegalArgumentException - if the given IBAN is null or if its size is not at least four characters.
    • calculate

      public String calculate(String iban)
      Calculate the given IBAN check digit. For a valid calculation the given IBAN its characters have to be alphanumeric ([a-zA-Z0-9]) and check digit characters have to be set to zero.
      Parameters:
      iban - a non-null string
      Returns:
      the given IBAN check digit.