models.Profesion.java Source code

Java tutorial

Introduction

Here is the source code for models.Profesion.java

Source

/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * $Id$ Profesion.java
 * Universidad de los Andes (Bogot - Colombia)
 * Departamento de Ingeniera de Sistemas y Computacin
 * Licenciado bajo el esquema Academic Free License version 3.0
 *
 * Ejercicio: Muebles de los Alpes
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

package models;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * Enumeracin con las posibles profesiones en el sistema
 * Created by scvalencia606 on 7/31/15.
 */

public enum Profesion {
    Abogado, Arquitecto, Administrador, Diseador, Economista, Estudiante, Mdico, Ingeniero;

    private static Map<String, Profesion> namesMap = new HashMap<String, Profesion>(8);

static {
    namesMap.put("abogado", Abogado);
    namesMap.put("arquitecto", Arquitecto);
    namesMap.put("administrador", Administrador);
    namesMap.put("diseador", Diseador);
    namesMap.put("economista", Economista);
    namesMap.put("estudiante", Estudiante);
    namesMap.put("mdico", Mdico);
    namesMap.put("ingeniero", Ingeniero);
}

    @JsonCreator
    public static Profesion forValue(String value) {
        return namesMap.get(StringUtils.lowerCase(value));
    }

    @JsonValue
    public String toValue() {
        for (Map.Entry<String, Profesion> entry : namesMap.entrySet()) {
            if (entry.getValue() == this)
                return entry.getKey();
        }

        return null;
    }
}