下面列出了怎么用javax.persistence.spi.ClassTransformer的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* This implementation delegates to the LoadTimeWeaver, if specified.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
if (this.loadTimeWeaver == null) {
throw new IllegalStateException("Cannot apply class transformer without LoadTimeWeaver specified");
}
this.loadTimeWeaver.addTransformer(new ClassFileTransformerAdapter(classTransformer));
}
/**
* This implementation delegates to the LoadTimeWeaver, if specified.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
if (this.loadTimeWeaver == null) {
throw new IllegalStateException("Cannot apply class transformer without LoadTimeWeaver specified");
}
this.loadTimeWeaver.addTransformer(new ClassFileTransformerAdapter(classTransformer));
}
/**
* This implementation delegates to the LoadTimeWeaver, if specified.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
if (this.loadTimeWeaver == null) {
throw new IllegalStateException("Cannot apply class transformer without LoadTimeWeaver specified");
}
this.loadTimeWeaver.addTransformer(new ClassFileTransformerAdapter(classTransformer));
}
/**
* This implementation delegates to the LoadTimeWeaver, if specified.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
if (this.loadTimeWeaver == null) {
throw new IllegalStateException("Cannot apply class transformer without LoadTimeWeaver specified");
}
this.loadTimeWeaver.addTransformer(new ClassFileTransformerAdapter(classTransformer));
}
public PersistenceUnitInfo build(final DataSource dataSource
, final Properties config
, final Class<?>... persistentClasses) {
return new PersistenceUnitInfo(){
@Override
public String getPersistenceUnitName() {
return "my pu";
}
@Override
public String getPersistenceProviderClassName() {
return "org.hibernate.jpa.HibernatePersistenceProvider";
}
@Override
public PersistenceUnitTransactionType getTransactionType() {
return PersistenceUnitTransactionType.RESOURCE_LOCAL;
}
@Override
public DataSource getJtaDataSource() {
return null;
}
@Override
public DataSource getNonJtaDataSource() {
return dataSource;
}
@Override
public List<String> getMappingFileNames() {
return emptyList();
}
@Override
public List<URL> getJarFileUrls() {
return emptyList();
}
@Override
public URL getPersistenceUnitRootUrl() {
return null;
}
@Override
public List<String> getManagedClassNames() {
return Arrays.stream(persistentClasses)
.map(c -> c.getName())
.collect(toList());
}
@Override
public boolean excludeUnlistedClasses() {
return false;
}
@Override
public SharedCacheMode getSharedCacheMode() {
return SharedCacheMode.NONE;
}
@Override
public ValidationMode getValidationMode() {
return ValidationMode.NONE;
}
@Override
public Properties getProperties() {
return config;
}
@Override
public String getPersistenceXMLSchemaVersion() {
return "2.1";
}
@Override
public ClassLoader getClassLoader() {
return this.getClass().getClassLoader();
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public ClassLoader getNewTempClassLoader() {
return null;
}
};
}
@Override
public void addTransformer(ClassTransformer transformer) {
transformers.add(transformer);
}
/**
* This implementation throws an UnsupportedOperationException.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
throw new UnsupportedOperationException("addTransformer not supported");
}
public ClassFileTransformerAdapter(ClassTransformer classTransformer) {
Assert.notNull(classTransformer, "ClassTransformer must not be null");
this.classTransformer = classTransformer;
}
/**
* This implementation throws an UnsupportedOperationException.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
throw new UnsupportedOperationException("addTransformer not supported");
}
public ClassFileTransformerAdapter(ClassTransformer classTransformer) {
Assert.notNull(classTransformer, "ClassTransformer must not be null");
this.classTransformer = classTransformer;
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
/**
* This implementation throws an UnsupportedOperationException.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
throw new UnsupportedOperationException("addTransformer not supported");
}
public ClassFileTransformerAdapter(ClassTransformer classTransformer) {
Assert.notNull(classTransformer, "ClassTransformer must not be null");
this.classTransformer = classTransformer;
}
/**
* This implementation throws an UnsupportedOperationException.
*/
@Override
public void addTransformer(ClassTransformer classTransformer) {
throw new UnsupportedOperationException("addTransformer not supported");
}
public ClassFileTransformerAdapter(ClassTransformer classTransformer) {
Assert.notNull(classTransformer, "ClassTransformer must not be null");
this.classTransformer = classTransformer;
}
public PersistenceUnitInfo toInfo() {
if (providerClass == null) {
providerClass = ServiceLoader.load(PersistenceProvider.class).iterator().next().getClass().getName();
}
requireNonNull(dataSource, "datasource not provided");
return new PersistenceUnitInfo() {
@Override
public String getPersistenceUnitName() {
return unitName;
}
@Override
public String getPersistenceProviderClassName() {
return providerClass;
}
@Override
public PersistenceUnitTransactionType getTransactionType() {
return transactionType;
}
@Override
public DataSource getJtaDataSource() {
return jtaDataSource;
}
@Override
public DataSource getNonJtaDataSource() {
return dataSource;
}
@Override
public List<String> getMappingFileNames() {
return mappingFiles;
}
@Override
public List<URL> getJarFileUrls() {
return jarFiles;
}
@Override
public URL getPersistenceUnitRootUrl() {
return rootUrl;
}
@Override
public List<String> getManagedClassNames() {
return managedClasses;
}
@Override
public boolean excludeUnlistedClasses() {
return excludeUnlistedClasses;
}
@Override
public SharedCacheMode getSharedCacheMode() {
return sharedCacheMode;
}
@Override
public ValidationMode getValidationMode() {
return validationMode;
}
@Override
public Properties getProperties() {
return properties;
}
@Override
public String getPersistenceXMLSchemaVersion() {
return version;
}
@Override
public ClassLoader getClassLoader() {
return loader;
}
@Override
public void addTransformer(final ClassTransformer transformer) {
// no-op: not supported
}
@Override
public ClassLoader getNewTempClassLoader() {
return new URLClassLoader(new URL[0], Thread.currentThread().getContextClassLoader());
}
};
}
public void addTransformer(ClassTransformer transformer) {
logger.info("Add transformer called on the persistent unit info. Ignoring");
// TODO Support adding transformers.
// Ignore this for now
}
public void addTransformer(final ClassTransformer classTransformer) {
if (persistenceClassLoaderHandler != null) {
final PersistenceClassFileTransformer classFileTransformer = new PersistenceClassFileTransformer(classTransformer);
persistenceClassLoaderHandler.addTransformer(id, classLoader, classFileTransformer);
}
}
public PersistenceClassFileTransformer(final ClassTransformer classTransformer) {
this.classTransformer = classTransformer;
}
@Override
public void addTransformer(ClassTransformer transformer) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addTransformer(ClassTransformer transformer) {
transformers.add(transformer);
}
public void addTransformer(ClassTransformer transformer)
{
delegate.addTransformer(transformer);
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}
@Override
public void addTransformer(ClassTransformer transformer) {
}