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

net.jhorstmann.i18n.jsf.FacesResourceBundleProviderFactory Maven / Gradle / Ivy

The newest version!
package net.jhorstmann.i18n.jsf;

import java.util.Locale;
import java.util.ResourceBundle;

import javax.faces.context.FacesContext;

import net.jhorstmann.i18n.ResourceBundleProvider;
import net.jhorstmann.i18n.ResourceBundleProviderFactory;

public class FacesResourceBundleProviderFactory extends ResourceBundleProviderFactory {
    public static final String KEY_DEACTIVATION_VAR = "net.jhorstmann.i18n.FacesResourceBundleProviderFactory.deactivate";

    static class FacesResourceBundleProvider implements ResourceBundleProvider {

        @Override
        public ResourceBundle getResourceBundle(Locale locale) {
            return FacesResourceBundle.getResourceBundle();
        }
    }

    private static final ResourceBundleProvider PROVIDER = new FacesResourceBundleProvider();

    @Override
    public boolean isEnvironmentSupported() {
        if (FacesContext.getCurrentInstance() == null) { // no JSF active
            return false;
        }
        String bundleVar = FacesContext.getCurrentInstance().getExternalContext().getInitParameter(KEY_DEACTIVATION_VAR);
        if (bundleVar != null && "true".equalsIgnoreCase(bundleVar)) { // Provider is disabled
            return false;
        }
        // JSF is active and no deactivation configured
        return true;
    }

    @Override
    public ResourceBundleProvider newResourceBundleProvider() {
        return PROVIDER;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy