/*
 * 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.jpa.internal.util;

import javax.persistence.PersistenceException;
import javax.persistence.spi.PersistenceUnitTransactionType;

import org.hibernate.internal.util.StringHelper;

Author:Steve Ebersole
/** * @author Steve Ebersole */
public class PersistenceUnitTransactionTypeHelper { private PersistenceUnitTransactionTypeHelper() { } public static PersistenceUnitTransactionType interpretTransactionType(Object value) { if ( value == null ) { return null; } if ( PersistenceUnitTransactionType.class.isInstance( value ) ) { return (PersistenceUnitTransactionType) value; } final String stringValue = value.toString(); if ( StringHelper.isEmpty( stringValue ) ) { return null; } else if ( stringValue.equalsIgnoreCase( "JTA" ) ) { return PersistenceUnitTransactionType.JTA; } else if ( stringValue.equalsIgnoreCase( "RESOURCE_LOCAL" ) ) { return PersistenceUnitTransactionType.RESOURCE_LOCAL; } else { throw new PersistenceException( "Unknown TransactionType: " + stringValue ); } } }