io.quarkus.hibernate.envers.HibernateEnversRecorder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-hibernate-envers Show documentation
Show all versions of quarkus-hibernate-envers Show documentation
Enable Hibernate Envers capabilities in your Jakarta Persistence applications
package io.quarkus.hibernate.envers;
import java.util.function.BiConsumer;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.spi.BootstrapContext;
import org.hibernate.envers.configuration.EnversSettings;
import io.quarkus.hibernate.orm.runtime.integration.HibernateOrmIntegrationStaticInitListener;
import io.quarkus.runtime.annotations.Recorder;
@Recorder
public class HibernateEnversRecorder {
public HibernateOrmIntegrationStaticInitListener createStaticInitListener(HibernateEnversBuildTimeConfig buildTimeConfig) {
return new HibernateEnversIntegrationListener(buildTimeConfig);
}
private static final class HibernateEnversIntegrationListener implements HibernateOrmIntegrationStaticInitListener {
private HibernateEnversBuildTimeConfig buildTimeConfig;
private HibernateEnversIntegrationListener(HibernateEnversBuildTimeConfig buildTimeConfig) {
this.buildTimeConfig = buildTimeConfig;
}
@Override
public void contributeBootProperties(BiConsumer propertyCollector) {
addConfig(propertyCollector, EnversSettings.STORE_DATA_AT_DELETE, buildTimeConfig.storeDataAtDelete);
}
public static void addConfig(BiConsumer propertyCollector, String configPath, T value) {
propertyCollector.accept(configPath, value);
}
@Override
public void onMetadataInitialized(Metadata metadata, BootstrapContext bootstrapContext,
BiConsumer propertyCollector) {
}
}
}