package org.needle4j.db;
import javax.persistence.EntityTransaction;
import org.needle4j.injection.InjectionProvider;
import org.needle4j.injection.InjectionTargetInformation;
class EntityTransactionProvider implements InjectionProvider<EntityTransaction> {
private final DatabaseTestcase databaseTestcase;
public EntityTransactionProvider(DatabaseTestcase databaseTestcase) {
super();
this.databaseTestcase = databaseTestcase;
}
@Override
public boolean verify(InjectionTargetInformation information) {
return information.getType() == EntityTransaction.class ? true : false;
}
@Override
public EntityTransaction getInjectedObject(Class<?> injectionPointType) {
return databaseTestcase.getEntityManager().getTransaction();
}
@Override
public Object getKey(InjectionTargetInformation information) {
return EntityTransaction.class;
}
}