| /* |
| * Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved. |
| * Copyright (c) 2005, 2015 SAP. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // SAP - initial API and implementation |
| |
| package org.eclipse.persistence.testing.framework.wdf; |
| |
| import java.util.Map; |
| |
| import javax.naming.NamingException; |
| import jakarta.persistence.EntityManager; |
| import jakarta.persistence.EntityManagerFactory; |
| import javax.sql.DataSource; |
| |
| import org.eclipse.persistence.testing.models.wdf.jpa1.employee.Employee; |
| |
| public interface JPAEnvironment { |
| |
| |
| public EntityManagerFactory createNewEntityManagerFactory(Map<String, Object> properties) throws NamingException; |
| |
| |
| public EntityManagerFactory getEntityManagerFactory(); |
| |
| public EntityManagerFactory createNewEntityManagerFactory() throws NamingException; |
| |
| public EntityManager getEntityManager(); |
| |
| public void beginTransaction(EntityManager em); |
| |
| public void commitTransaction(EntityManager em); |
| |
| public void rollbackTransaction(EntityManager em); |
| |
| public void markTransactionForRollback(EntityManager em); |
| |
| public void commitTransactionAndClear(EntityManager em); |
| |
| public void rollbackTransactionAndClear(EntityManager em); |
| |
| /** |
| * Returns <code>true</code> if the transaction is active and not marked for rollback. |
| * |
| * @param em |
| * The entity manager |
| * @return <code>true</code> if the transaction is active and not marked for rollback |
| */ |
| public boolean isTransactionActive(EntityManager em); |
| |
| /** |
| * Returns <code>true</code> if the transaction marked for rollback but not rolled back yet. |
| * |
| * @param em |
| * The entity manager |
| * @return <code>true</code> if the transaction marked for rollback but not rolled back yet |
| */ |
| public boolean isTransactionMarkedForRollback(EntityManager em); |
| |
| public boolean usesExtendedPC(); |
| |
| public DataSource getDataSource(); |
| |
| public Object getPropertyValue(EntityManager em, String key); |
| |
| public void evict(EntityManager em, Class<?> clazz); |
| |
| public void evictAll(EntityManager em); |
| } |