package org.cryptocoinpartners.enumeration; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.persistence.Transient; /** * */ public enum PersistanceAction { NEW("NEW"), MERGE("MERGE"), DELETE("DELETE"); private final String enumValue; private PersistanceAction(String value) { this.enumValue = value; } @Transient public static PersistanceAction fromString(String name) { return PersistanceAction.valueOf(name); } @Transient public String value() { return this.enumValue; } public static PersistanceAction fromValue(String value) { for (PersistanceAction enumName : PersistanceAction.values()) { if (enumName.getValue().equals(value)) { return enumName; } } throw new IllegalArgumentException("PersistanceAction.fromValue(" + value + ')'); } @Transient public String getValue() { return this.enumValue; } @Transient public static List<String> literals() { return PersistanceAction.literals; } @Transient public static List<String> names() { return PersistanceAction.names; } private static Map<String, PersistanceAction> values = new LinkedHashMap<>(9, 1); private static List<String> literals = new ArrayList<>(9); private static List<String> names = new ArrayList<>(9); private static List<PersistanceAction> valueList = new ArrayList<>(9); /** * Initializes the values. */ static { synchronized (PersistanceAction.values) { PersistanceAction.values.put(NEW.enumValue, NEW); PersistanceAction.values.put(MERGE.enumValue, MERGE); PersistanceAction.values.put(DELETE.enumValue, DELETE); } synchronized (PersistanceAction.valueList) { PersistanceAction.valueList.add(NEW); PersistanceAction.valueList.add(MERGE); PersistanceAction.valueList.add(DELETE); PersistanceAction.valueList = Collections.unmodifiableList(valueList); } synchronized (PersistanceAction.literals) { PersistanceAction.literals.add(NEW.enumValue); PersistanceAction.literals.add(MERGE.enumValue); PersistanceAction.literals.add(DELETE.enumValue); PersistanceAction.literals = Collections.unmodifiableList(literals); } synchronized (PersistanceAction.names) { PersistanceAction.names.add("NEW"); PersistanceAction.names.add("MERGE"); PersistanceAction.names.add("DELETE"); PersistanceAction.names = Collections.unmodifiableList(names); } } }