Package javax.persistence.spi
Class PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader.CachingPersistenceProviderResolver
- java.lang.Object
-
- javax.persistence.spi.PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader.CachingPersistenceProviderResolver
-
- All Implemented Interfaces:
PersistenceProviderResolver
private static class PersistenceProviderResolverHolder.PersistenceProviderResolverPerClassLoader.CachingPersistenceProviderResolver extends java.lang.Object implements PersistenceProviderResolver
Resolve the list of Persistence providers for a given classloader and cache the results. Avoids to keep any reference from this class to the classloader being passed to the constructor.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.Pattern
nonCommentPattern
private java.util.List<java.lang.ref.WeakReference<java.lang.Class<? extends PersistenceProvider>>>
resolverClasses
-
Constructor Summary
Constructors Constructor Description CachingPersistenceProviderResolver(java.lang.ClassLoader cl)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearCachedProviders()
Clear cache of providers.java.util.List<PersistenceProvider>
getPersistenceProviders()
Returns a list of thePersistenceProvider
implementations available in the runtime environment.private void
loadResolverClasses(java.lang.ClassLoader cl)
private static java.util.Set<java.lang.String>
providerNamesFromReader(java.io.BufferedReader reader)
-
-
-
Field Detail
-
resolverClasses
private final java.util.List<java.lang.ref.WeakReference<java.lang.Class<? extends PersistenceProvider>>> resolverClasses
-
nonCommentPattern
private static final java.util.regex.Pattern nonCommentPattern
-
-
Method Detail
-
loadResolverClasses
private void loadResolverClasses(java.lang.ClassLoader cl)
-
getPersistenceProviders
public java.util.List<PersistenceProvider> getPersistenceProviders()
Returns a list of thePersistenceProvider
implementations available in the runtime environment.- Specified by:
getPersistenceProviders
in interfacePersistenceProviderResolver
- Returns:
- list of the persistence providers available in the environment
-
clearCachedProviders
public void clearCachedProviders()
Clear cache of providers.- Specified by:
clearCachedProviders
in interfacePersistenceProviderResolver
-
providerNamesFromReader
private static java.util.Set<java.lang.String> providerNamesFromReader(java.io.BufferedReader reader) throws java.io.IOException
- Throws:
java.io.IOException
-
-