Class PanMaskGenerator


  • public class PanMaskGenerator
    extends java.lang.Object
    Class to generate masks for PAN (Personal Account Numbers) of credit cards. Masks can be used on text fields to determine how users can input text, and masks can also be used to display credit card PAN's on the screen being PCI DSS compliant by showing only the last 4 digits of the PAN.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static char DEFAULT_GROUP_SEPARATOR
      Default character to use to separate groups of digits.
      static char DEFAULT_MASK_CHAR
      Default character to be used to generate masks.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PanMaskGenerator()
      Constructor.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String generate​(CreditCardNetwork network)
      Generates a mask having required grouping for text input or PAN masking a credit card number using default group separator and mask characters.
      static java.lang.String generate​(CreditCardNetwork network, char maskChar)
      Generates a mask having required grouping for text input or PAN masking a credit card number using default group separator character.
      static java.lang.String generate​(CreditCardNetwork network, char maskChar, char separatorChar)
      Generates a mask having required grouping for text input or PAN masking a credit card number.
      private static void repeatMaskChar​(java.lang.StringBuilder builder, char maskChar, int times)
      Repeats a mask character the number of provided times and appends it to provided builder.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_MASK_CHAR

        public static final char DEFAULT_MASK_CHAR
        Default character to be used to generate masks.
        See Also:
        Constant Field Values
      • DEFAULT_GROUP_SEPARATOR

        public static final char DEFAULT_GROUP_SEPARATOR
        Default character to use to separate groups of digits.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PanMaskGenerator

        private PanMaskGenerator()
        Constructor.
    • Method Detail

      • generate

        public static java.lang.String generate​(CreditCardNetwork network,
                                                char maskChar,
                                                char separatorChar)
        Generates a mask having required grouping for text input or PAN masking a credit card number.
        Parameters:
        network - a credit card network to determine grouping format.
        maskChar - mask character to use.
        separatorChar - group separator character to use.
        Returns:
        generated mask.
      • generate

        public static java.lang.String generate​(CreditCardNetwork network,
                                                char maskChar)
        Generates a mask having required grouping for text input or PAN masking a credit card number using default group separator character.
        Parameters:
        network - a credit card network to determine grouping format.
        maskChar - mask character to use.
        Returns:
        generated mask.
      • generate

        public static java.lang.String generate​(CreditCardNetwork network)
        Generates a mask having required grouping for text input or PAN masking a credit card number using default group separator and mask characters.
        Parameters:
        network - a credit card network to determine grouping format.
        Returns:
        generated mask.
      • repeatMaskChar

        private static void repeatMaskChar​(java.lang.StringBuilder builder,
                                           char maskChar,
                                           int times)
        Repeats a mask character the number of provided times and appends it to provided builder.
        Parameters:
        builder - builder where text is added.
        maskChar - mask character to use.
        times - number of times to repeat mask character.