package org.needle4j.db;
import javax.persistence.EntityManagerFactory;
import org.needle4j.injection.InjectionProvider;
import org.needle4j.injection.InjectionTargetInformation;
import org.needle4j.injection.InjectionVerifier;
class EntityManagerFactoryProvider implements InjectionProvider<EntityManagerFactory> {
private final DatabaseTestcase databaseTestcase;
private InjectionVerifier verifier;
EntityManagerFactoryProvider(final DatabaseTestcase databaseTestcase) {
super();
this.databaseTestcase = databaseTestcase;
verifier = new InjectionVerifier() {
@Override
public boolean verify(final InjectionTargetInformation information) {
if (information.getType() == EntityManagerFactory.class) {
return true;
}
return false;
}
};
}
@Override
public EntityManagerFactory getInjectedObject(final Class<?> type) {
return databaseTestcase.getEntityManagerFactory();
}
@Override
public boolean verify(final InjectionTargetInformation injectionTargetInformation) {
return verifier.verify(injectionTargetInformation);
}
@Override
public Object getKey(final InjectionTargetInformation injectionTargetInformation) {
return EntityManagerFactory.class;
}
}