All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.quarkus.hibernate.envers.HibernateEnversRecorder Maven / Gradle / Ivy

There is a newer version: 3.15.0
Show newest version
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) {
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy