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

be.fluid_it.tools.dropwizard.box.config.BridgedConfigurationFactory Maven / Gradle / Ivy

package be.fluid_it.tools.dropwizard.box.config;

import com.fasterxml.jackson.databind.ObjectMapper;
import io.dropwizard.Configuration;
import io.dropwizard.configuration.ConfigurationException;
import io.dropwizard.configuration.ConfigurationFactory;
import io.dropwizard.configuration.ConfigurationSourceProvider;

import javax.validation.Validator;
import java.io.File;
import java.io.IOException;

public class BridgedConfigurationFactory extends ConfigurationFactory {
    private ConfigurationBridge configurationBridge;

    public BridgedConfigurationFactory(ConfigurationBridge bridge, Class klass, Validator validator, ObjectMapper objectMapper, String propertyPrefix) {
        super(klass, validator, objectMapper, propertyPrefix);
        configurationBridge = bridge;
    }

    @Override
    public T build(File file) throws IOException, ConfigurationException {
        T configuration = super.build(file);
        configurationBridge.load(configuration);
        return configuration;
    }

    @Override
    public T build(ConfigurationSourceProvider provider, String path) throws IOException, ConfigurationException {
        T configuration = super.build(provider, path);
        configurationBridge.load(configuration);
        return configuration;
    }

    @Override
    public T build() throws IOException, ConfigurationException {
        T configuration = super.build();
        configurationBridge.load(configuration);
        return configuration;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy