Skip navigation links
org.eclipse.persistence.jpa.osgi
Class PersistenceProvider
java.lang.Object
org.eclipse.persistence.jpa.PersistenceProvider
org.eclipse.persistence.jpa.osgi.PersistenceProvider
- All Implemented Interfaces:
- javax.persistence.spi.PersistenceProvider, javax.persistence.spi.ProviderUtil
-
public class PersistenceProvider
- extends PersistenceProvider
EclipseLink JPA provider for use in OSGI Environments
Method Summary |
static void |
addBundle(Bundle bundle, java.lang.String[] persistenceUnitNames)
Add a bundle to the list of bundles managed by this persistence provider The bundle is indexed so it's classloader can be accessed |
javax.persistence.EntityManagerFactory |
createContainerEntityManagerFactory(javax.persistence.spi.PersistenceUnitInfo info, java.util.Map map)
Called by the container when an EntityManagerFactory is to be created. |
java.lang.ClassLoader |
getClassLoader(java.lang.String persistenceUnitName, java.util.Map properties)
Answer the ClassLoader to use to create an EntityManager. |
org.eclipse.persistence.internal.jpa.deployment.JPAInitializer |
getInitializer(java.lang.String emName, java.util.Map m)
Get the initializer class Here we will attempt to build an EquinoxInitializer. |
static boolean |
includesBundle(Bundle bundle)
|
static void |
removeBundle(Bundle bundle)
Removed a bundle from the list of bundles managed by this persistence provider This typically happens on deactivation. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
initializerClassName
protected java.lang.String initializerClassName
EQUINOX_INITIALIZER_NAME
public static final java.lang.String EQUINOX_INITIALIZER_NAME
-
- See Also:
- Constant Field Values
ORG_ECLIPSE_PERSISTENCE_CORE
private static final java.lang.String ORG_ECLIPSE_PERSISTENCE_CORE
-
- See Also:
- Constant Field Values
puToBundle
private static java.util.Map<java.lang.String,Bundle> puToBundle
bundleToPUs
private static java.util.Map<Bundle,java.lang.String[]> bundleToPUs
puClassLoaders
private java.util.Map<java.lang.String,java.lang.ClassLoader> puClassLoaders
PersistenceProvider
public PersistenceProvider()
PersistenceProvider
public PersistenceProvider(java.lang.String initializerClassName)
createContainerEntityManagerFactory
public javax.persistence.EntityManagerFactory createContainerEntityManagerFactory(javax.persistence.spi.PersistenceUnitInfo info,
java.util.Map map)
- Description copied from class:
PersistenceProvider
- Called by the container when an EntityManagerFactory is to be created.
-
- Specified by:
createContainerEntityManagerFactory
in interface javax.persistence.spi.PersistenceProvider
- Overrides:
createContainerEntityManagerFactory
in class PersistenceProvider
-
- Parameters:
info
- Metadata for use by the persistence provider
- Returns:
- EntityManagerFactory for the persistence unit specified by the metadata
getInitializer
public org.eclipse.persistence.internal.jpa.deployment.JPAInitializer getInitializer(java.lang.String emName,
java.util.Map m)
- Get the initializer class Here we will attempt to build an EquinoxInitializer. It will only be available if the org.eclipse.persistence.jpa.equinox fragment is available. Else, we will return a standard OSGi initializer.
-
- Overrides:
getInitializer
in class PersistenceProvider
-
- Returns:
addBundle
public static void addBundle(Bundle bundle,
java.lang.String[] persistenceUnitNames)
- Add a bundle to the list of bundles managed by this persistence provider The bundle is indexed so it's classloader can be accessed
-
- Parameters:
bundle
-
persistenceUnitNames
-
removeBundle
public static void removeBundle(Bundle bundle)
- Removed a bundle from the list of bundles managed by this persistence provider This typically happens on deactivation.
-
- Parameters:
bundle
-
getClassLoader
public java.lang.ClassLoader getClassLoader(java.lang.String persistenceUnitName,
java.util.Map properties)
- Answer the ClassLoader to use to create an EntityManager. The result is a CompositeClassLoader capable of loading classes from the optionally provided ClassLoader, the bundle that provides the persistence unit (i.e., contains the persistence.xml, and EclipseLink classes (since the persistence unit bundle may not have an explicit dependency on EclipseLink).
-
- Overrides:
getClassLoader
in class PersistenceProvider
-
- Parameters:
persistenceUnitName
-
properties
-
- Returns:
- ClassLoader
includesBundle
public static boolean includesBundle(Bundle bundle)
Skip navigation links