Based on Extensible Algorithm Framework
The First Name algorithm is an instance of the Name Algorithm Framework. The algorithm requires String type input values.
The expected format for the valid input contains at least one word, which consist of at least one non-whitespace character.
If the input value does not match the expected format, the value will not be masked.
I.e. if input contains null or empty string or white spaces only then the algorithm returns unmasked input value.
No non-conformant data errors are thrown by that algorithm.
Single character is considered abbreviation, i.e. it will be masked to a single character. Whether it is followed by the dot (.) or not.
Words separated by the hyphen (-) are considered as a single word (even if divided from hyphen by spaces).
The default First Name instance is configurable without particle files. So every input word (but the mentioned above single non-alphanumeric symbol) is considered as a valid part of the name. The whole input would be masked to a single output word. Leading and trailing white spaces are not preserved.
|"" (empty string)||""|
|" " (white spaces only)||" "|
|single non alphanumeric character (like '&' or '?')||""|