package com.megatim.fdxcommons.model.enumeration; import com.fasterxml.jackson.annotation.JsonValue; /** * * @author ASUS */ public enum Operateur { LIKE("LIKE"), EQUALS("="), NOT_EQUALS("<>"), GREATER_THAN(">"), GREATER_OR_EQUALS_THAN(">="), LOWER_THAN("<"), LOWER_OR_EQUALS_THAN("<="), IN("IN"), NOT_IN("NOT IN"), IS_NULL("IS NULL"), IS_NOT_NULL("IS NOT NULL"), BETWEEN("BETWEEN"), NOT_BETWEEN("NOT BETWEEN"); private final String value; private Operateur(String value) { this.value = value; } public static Operateur fromValeur(String value) { String cleanValue = value.trim().toUpperCase(); cleanValue = cleanValue.replaceAll("\\s+", " ");//remplacer plusieurs chaines vides par une seule chaine vide switch (cleanValue) { case "LIKE": return Operateur.LIKE; case "=": return Operateur.EQUALS; case "<>": return Operateur.NOT_EQUALS; case ">": return Operateur.GREATER_THAN; case ">=": return Operateur.GREATER_OR_EQUALS_THAN; case "<": return Operateur.LOWER_THAN; case "<=": return Operateur.LOWER_OR_EQUALS_THAN; case "IN": return Operateur.IN; case "NOT IN": return Operateur.NOT_IN; case "IS NULL": return Operateur.IS_NULL; case "IS NOT NULL": return Operateur.IS_NOT_NULL; case "BETWEEN": return Operateur.BETWEEN; case "NOT BETWEEN": return Operateur.NOT_BETWEEN; default: return null; } } @JsonValue public String getValue() { return value; } }