org.clazzes.util.jpa.provider
Class ProviderClassFactory

java.lang.Object
  extended by org.clazzes.util.jpa.provider.ProviderClassFactory

public class ProviderClassFactory
extends java.lang.Object

This class is used to instantiate class instances from the JPA provider without actually tying to a specific implementation.

This is an example usage of this class in order to retrieve openjpa's Temporary class loader implementation inside a blueprint container:

  <bp:reference id="persistenceProvider" interface="javax.persistence.spi.PersistenceProvider"/> 
 
  <bp:bean id="providerClassFactory" class="org.clazzes.util.jpa.provider.ProviderClassFactory">
    <bp:property name="persistenceProvider" ref="persistenceProvider"/>
  </bp:bean>
  
  <bp:bean id="temporaryClassLoaderClass" factory-ref="providerClassFactory" factory-method="loadClass">
    <bp:argument value="org.apache.openjpa.lib.util.TemporaryClassLoader"/>
  </bp:bean>
 


Constructor Summary
ProviderClassFactory()
           
 
Method Summary
 javax.persistence.spi.PersistenceProvider getPersistenceProvider()
           
 java.lang.Class<?> loadClass(java.lang.String clazzName)
          load a class from the class loader of the persistence provider.
 void setPersistenceProvider(javax.persistence.spi.PersistenceProvider persistenceProvider)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProviderClassFactory

public ProviderClassFactory()
Method Detail

loadClass

public java.lang.Class<?> loadClass(java.lang.String clazzName)
                             throws java.lang.ClassNotFoundException
load a class from the class loader of the persistence provider.

Parameters:
clazzName - The name of the class.
Returns:
The class for the given name.
Throws:
java.lang.ClassNotFoundException - If the class could not be found in the JPA povider's bundle.

getPersistenceProvider

public javax.persistence.spi.PersistenceProvider getPersistenceProvider()
Returns:
the persistenceProvider usually injected using blueprint.

setPersistenceProvider

public void setPersistenceProvider(javax.persistence.spi.PersistenceProvider persistenceProvider)
Parameters:
persistenceProvider - the persistenceProvider, which is typically a service reference obtained by blueprint.


Copyright © 2011. All Rights Reserved.