BatchCatalogueOptiqueIsea.java
package com.sintia.ffl.admin.optique.catalogue.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.core.convert.converter.Converter;
import org.springframework.lang.NonNull;
import java.util.HashMap;
import java.util.Map;
/**
* Énumération des batchs de chargement du catalogue commun
*/
@AllArgsConstructor
@Getter
public enum BatchCatalogueOptiqueIsea {
JOB_IMPORT_CATALOGUE("chargementCatalogue"),
JOB_DESACTIVATION_GLASSES("desactivationVerres"),
JOB_PURGE_GLASSES("purgeVerres");
private static final Map<String, BatchCatalogueOptiqueIsea> VALUES = new HashMap<>();
static {
VALUES.put(JOB_IMPORT_CATALOGUE.jobName, JOB_IMPORT_CATALOGUE);
VALUES.put(JOB_DESACTIVATION_GLASSES.jobName, JOB_DESACTIVATION_GLASSES);
VALUES.put(JOB_PURGE_GLASSES.jobName, JOB_PURGE_GLASSES);
}
private final String jobName;
/** Convertisseur pour utilisation de l'énumération en tant que type de paramètre d'API **/
public static class StringToEnumConverter implements Converter<String, BatchCatalogueOptiqueIsea> {
@Override
public BatchCatalogueOptiqueIsea convert(@NonNull String source) {
if (!VALUES.containsKey(source)){
throw new IllegalArgumentException("Valeur incorrecte pour l'énumération BatchCatalogueOptique");
}
return VALUES.get(source);
}
}
}