Package fr.marcwrobel.jbanking.iban
Enum IbanCheckDigit
- java.lang.Object
-
- java.lang.Enum<IbanCheckDigit>
-
- fr.marcwrobel.jbanking.iban.IbanCheckDigit
-
- All Implemented Interfaces:
Serializable,Comparable<IbanCheckDigit>
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
- Author:
- Marc Wrobel
- See Also:
- https://en.wikipedia.org/wiki/ISO/IEC_7064, https://en.wikipedia.org/wiki/International_Bank_Account_Number, https://git.apache.org/repos/asf?p=commons-validator.git;a=blob;f=src/main/java/org/apache/commons/validator/routines/checkdigit/IBANCheckDigit.java;hb=HEAD
-
-
Enum Constant Summary
Enum Constants Enum Constant Description INSTANCE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringcalculate(String iban)Calculate the given IBAN check digit.booleanvalidate(String iban)Validate the given IBAN check digit.static IbanCheckDigitvalueOf(String name)Returns the enum constant of this type with the specified name.static IbanCheckDigit[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INSTANCE
public static final IbanCheckDigit INSTANCE
-
-
Method Detail
-
values
public static IbanCheckDigit[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (IbanCheckDigit c : IbanCheckDigit.values()) System.out.println(c);
- 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 nameNullPointerException- if the argument is null
-
validate
public boolean validate(String iban)
Validate the given IBAN check digit.- Parameters:
iban- a non-null string.- Returns:
trueif the given IBAN check digit is valid,falseotherwise.- 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.
-
-