DisponibilidadConverter.java 990 Bytes
Newer Older
1 2 3 4 5 6 7 8
package com.roshka.modelo;

import java.util.Arrays;

import javax.persistence.AttributeConverter;
import javax.persistence.Converter;

@Converter(autoApply = true)
9
public class DisponibilidadConverter implements AttributeConverter<Disponibilidad, String>, org.springframework.core.convert.converter.Converter<String,Disponibilidad> {
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
 
    @Override
    public String convertToDatabaseColumn(Disponibilidad modalidad) {
        if (modalidad == null) {
            return null;
        }
        return modalidad.getCode();
    }

    @Override
    public Disponibilidad convertToEntityAttribute(String code) {
        if (code == null) {
            return null;
        }
        
        return Arrays.stream(Disponibilidad.values())
          .filter(c -> c.getCode().equals(code))
          .findFirst()
          .orElseThrow(IllegalArgumentException::new);
    }
30 31 32 33 34

    @Override
    public Disponibilidad convert(String arg0) {
        return convertToEntityAttribute(arg0);
    }
35
}