package org.jboss.seam.core; import static org.jboss.seam.annotations.Install.BUILT_IN; import org.jboss.seam.contexts.Contexts; import org.jboss.seam.Component; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.AutoCreate; import org.jboss.seam.annotations.Create; import org.jboss.seam.annotations.Install; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; import org.jboss.seam.annotations.intercept.BypassInterceptors; /** * Manager component for the default locale. * * @author miked */ @Scope(ScopeType.EVENT) @Name("org.jboss.seam.core.defaultLocale") @Install(precedence = BUILT_IN) @AutoCreate @BypassInterceptors public class DefaultLocale { protected java.util.Locale locale; @Create public void create() { this.locale = java.util.Locale.getDefault(); } public java.util.Locale getDefault() { return locale; } public void setDefault(java.util.Locale locale) { //Remove locale here so that the default you set has a chance of being used Contexts.getEventContext().remove("org.jboss.seam.core.locale"); this.locale = locale; } public static DefaultLocale instance(){ return (DefaultLocale) Component.getInstance(DefaultLocale.class); } }