FakerProvider.java
package fr.avenirsesr.portfolio.api.infrastructure.adapter.seeder.fake;
import java.util.Locale;
import java.util.Random;
import lombok.extern.slf4j.Slf4j;
import net.datafaker.Faker;
@Slf4j
public class FakerProvider {
private final boolean fixSeedEnabled = true;
private static final long DEFAULT_SEED = 100000L;
private static final Locale LOCALE = Locale.FRENCH;
private static Faker FIXED_SEED_FAKER;
private final long seed;
public FakerProvider() {
this(DEFAULT_SEED);
}
public FakerProvider(long seed) {
this.seed = seed;
}
public Faker call() {
if (fixSeedEnabled) {
if (FIXED_SEED_FAKER == null) {
FIXED_SEED_FAKER = new Faker(LOCALE, new Random(seed));
}
return FIXED_SEED_FAKER;
}
return new Faker(LOCALE);
}
}