Class PersistenceFactoryBase

java.lang.Object
org.eclipse.persistence.jpa.rs.PersistenceFactoryBase
All Implemented Interfaces:
PersistenceContextFactory

public class PersistenceFactoryBase extends Object implements PersistenceContextFactory
Manages the PersistenceContexts that are used by a JPA-RS deployment. Provides a single point to bootstrap and look up PersistenceContexts.
Author:
tware
  • Field Details

  • Constructor Details

    • PersistenceFactoryBase

      public PersistenceFactoryBase()
  • Method Details

    • bootstrapPersistenceContext

      public PersistenceContext bootstrapPersistenceContext(String name, jakarta.persistence.EntityManagerFactory emf, URI baseURI, String version, boolean replace)
      Bootstrap a PersistenceContext based on an pre-existing EntityManagerFactory.
      Parameters:
      name - persistence context name
      emf - entity manager factory
      baseURI - base URI
      version - JPARS version. See ServiceVersion for more details.
      replace - Indicates that existing persistence context with given name and version must be replaced with the newly created one. If false passed the newly created context is not added to cache at all.
      Returns:
      newly created persistence context
    • close

      public void close()
      Stop the factory. Remove all the PersistenceContexts.
      Specified by:
      close in interface PersistenceContextFactory
    • closePersistenceContext

      public void closePersistenceContext(String name)
      Close the PersistenceContext of a given name and clean it out of our list of PersistenceContexts.
      Specified by:
      closePersistenceContext in interface PersistenceContextFactory
      Parameters:
      name - name of the persistence context to close.
    • closePersistenceContext

      public void closePersistenceContext(String name, String version)
      Close the PersistenceContext and clean it out of our list of PersistenceContexts.
      Parameters:
      name - name of the persistence context to close.
      version - persistence context version
    • createProperties

      protected static Map<String,Object> createProperties(DynamicClassLoader dcl, Map<String,?> originalProperties)
      Provide an initial set of properties for bootstrapping PersistenceContexts.
      Parameters:
      dcl -
      originalProperties -
      Returns:
    • get

      public PersistenceContext get(String persistenceUnitName, URI defaultURI, String version, Map<String,Object> initializationProperties)
      Gets existing persistence context or create new based on given parameters if it doesn't exist.
      Specified by:
      get in interface PersistenceContextFactory
    • getPersistenceContextNames

      public Set<String> getPersistenceContextNames()
      Returns names of all currently cached persistence contexts.
      Specified by:
      getPersistenceContextNames in interface PersistenceContextFactory
    • getDynamicPersistenceContext

      public PersistenceContext getDynamicPersistenceContext(String name, String version)
      Gets cached persistence context by its name and JPARS version.
      Parameters:
      name - persistent unit name.
      version - JPARS version. See ServiceVersion for more details.
      Returns:
      persistence context or null if doesn't exist.
    • addReplacePersistenceContext

      protected void addReplacePersistenceContext(PersistenceContext persistenceContext)