package org.jboss.seam.core; import static org.jboss.seam.annotations.Install.BUILT_IN; 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.Unwrap; import org.jboss.seam.annotations.intercept.BypassInterceptors; import org.jboss.seam.contexts.Contexts; /** * Manager component for the current locale. This base implementation simply * returns the server default locale. * * @author Gavin King */ @Scope(ScopeType.EVENT) @Name("org.jboss.seam.core.locale") @Install(precedence = BUILT_IN) @AutoCreate @BypassInterceptors public class Locale { protected java.util.Locale locale; @Create public void create(){ this.locale = java.util.Locale.getDefault(); } @Unwrap public java.util.Locale getLocale() { return locale; } public static java.util.Locale instance() { if (Contexts.isApplicationContextActive()) { return (java.util.Locale) Component.getInstance(Locale.class); } else { return java.util.Locale.getDefault(); // for unit tests } } }