GenderConverter.java
/*
* Copyright © 2024-2025 The CTAN Team and individual authors
*
* This file is distributed under the 3-clause BSD license.
* See file LICENSE for details.
*/
package org.ctan.site.domain;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;
import lombok.NonNull;
/**
* The class <code>GenderConverter</code> contains the converter from and to
* Gender values to single-character strings.
*/
@Converter(autoApply = true)
public class GenderConverter implements AttributeConverter<Gender, String> {
/**
* {@inheritDoc}
*
* @see jakarta.persistence.AttributeConverter#convertToDatabaseColumn(java.lang.Object)
*/
@Override
public String convertToDatabaseColumn(@NonNull Gender gender) {
return gender.getValue();
}
/**
* {@inheritDoc}
*
* @see jakarta.persistence.AttributeConverter#convertToEntityAttribute(java.lang.Object)
*/
@Override
public Gender convertToEntityAttribute(@NonNull String value) {
return Gender.of(value);
}
}