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

com.commercetools.sunrise.framework.template.i18n.ConfigurableI18nResolverProvider Maven / Gradle / Ivy

The newest version!
package com.commercetools.sunrise.framework.template.i18n;

import com.commercetools.sunrise.play.configuration.SunriseConfigurationException;
import com.commercetools.sunrise.ctp.project.ProjectContext;
import com.commercetools.sunrise.framework.template.i18n.composite.CompositeI18nResolverFactory;
import com.google.inject.Provider;
import play.Configuration;

import javax.inject.Inject;

public final class ConfigurableI18nResolverProvider implements Provider {

    private static final String CONFIG_I18N = "application.i18n";

    private final Configuration i18nConfiguration;
    private final ProjectContext projectContext;
    private final CompositeI18nResolverFactory compositeI18nResolverFactory;

    @Inject
    public ConfigurableI18nResolverProvider(final Configuration configuration, final ProjectContext projectContext,
                                            final CompositeI18nResolverFactory compositeI18nResolverFactory) {
        this.i18nConfiguration = configuration.getConfig(CONFIG_I18N);
        if (i18nConfiguration == null) {
            throw new SunriseConfigurationException("Could not initialize I18nResolver due to missing configuration", CONFIG_I18N);
        }
        this.projectContext = projectContext;
        this.compositeI18nResolverFactory = compositeI18nResolverFactory;
    }

    @Override
    public I18nResolver get() {
        return compositeI18nResolverFactory.create(i18nConfiguration, projectContext.locales());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy