001// Generated by delombok at Fri Mar 03 18:26:02 UTC 2023
002package de.cuioss.test.generator.domain;
003
004import static de.cuioss.test.generator.Generators.fixedValues;
005import static de.cuioss.test.generator.Generators.strings;
006import de.cuioss.test.generator.TypedGenerator;
007
008/**
009 * Combines different variants of Generators for firstnames. The generators
010 * {@link #FIRSTNAMES_MALE_GERMAN}, {@link #FIRSTNAMES_FEMALE_GERMAN} and
011 * {@link #FIRSTNAMES_ANY_GERMAN} are for visual mocks, {@link #UNIT_TESTS} for
012 * unit-tests.
013 *
014 * @author Oliver Wolff
015 */
016public enum NameGenerators {
017    // German
018    /**
019     * Top 10 male name in Germany 2014
020     */
021    FIRSTNAMES_MALE_GERMAN(fixedValues(NameLibrary.FIRSTNAMES_MALE_GERMAN)), /**
022     * Top 10 female name in Germany 2014
023     */
024    FIRSTNAMES_FEMALE_GERMAN(fixedValues(NameLibrary.FIRSTNAMES_FEMALE_GERMAN)), /**
025     * The intersection of {@link #FIRSTNAMES_MALE_GERMAN} and
026     * {@link #FIRSTNAMES_FEMALE_GERMAN} names
027     */
028    FIRSTNAMES_ANY_GERMAN(fixedValues(NameLibrary.FIRSTNAMES_ANY_GERMAN)), /**
029     * Top 10 names in Wikipedia
030     */
031    FAMILY_NAMES_GERMAN(fixedValues(NameLibrary.LAST_NAMES_GERMAN)), 
032    // English
033    /**
034     * Top 10 male name in US 2014
035     */
036    FIRSTNAMES_MALE_ENGLISH(fixedValues(NameLibrary.FIRSTNAMES_MALE_ENGLISH)), /**
037     * Top 10 female name in US 2014
038     */
039    FIRSTNAMES_FEMALE_ENGLISH(fixedValues(NameLibrary.FIRSTNAMES_FEMALE_ENGLISH)), /**
040     * The intersection of {@link #FIRSTNAMES_MALE_ENGLISH} and
041     * {@link #FIRSTNAMES_FEMALE_ENGLISH} names
042     */
043    FIRSTNAMES_ANY_ENGLISH(fixedValues(NameLibrary.FIRSTNAMES_ANY_ENGLISH)), /**
044     * Top 10 names from U.S. Census Bureau
045     */
046    FAMILY_NAMES_ENGLISH(fixedValues(NameLibrary.LAST_NAMES_ENGLISH)), /**
047     * Technical String for unit-testing. Min size is 1, max size 256
048     */
049    UNIT_TESTS(strings(1, 256));
050    private final TypedGenerator<String> generator;
051
052    /**
053     * @return the concrete generator.
054     */
055    public TypedGenerator<String> generator() {
056        return generator;
057    }
058
059    @java.lang.SuppressWarnings("all")
060    @lombok.Generated
061    private NameGenerators(final TypedGenerator<String> generator) {
062        this.generator = generator;
063    }
064}