/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.envers.test.entities.converter; import javax.persistence.AttributeConverter; /** * @author Steve Ebersole */ public class SexConverter implements AttributeConverter<Sex, String> { @Override public String convertToDatabaseColumn(Sex attribute) { if (attribute == null) { return null; } switch (attribute) { case MALE: { return "M"; } case FEMALE: { return "F"; } default: { throw new IllegalArgumentException( "Unexpected Sex model value [" + attribute + "]" ); } } } @Override public Sex convertToEntityAttribute(String dbData) { if (dbData == null) { return null; } if ( "M".equals( dbData ) ) { return Sex.MALE; } else if ( "F".equals( dbData ) ) { return Sex.FEMALE; } throw new IllegalArgumentException( "Unexpected Sex db value [" + dbData + "]" ); } }