/******************************************************************************* * Copyright (c) 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.osgi.service.localization; import java.util.Locale; /** * A service that is used to determine what the current locale is for a * particular context or session. If no <code>LocaleProvider</code> * service is available then the locale must be determined by other * means, for example, by calling {@link Locale#getDefault()}. * <p> * More advanced environments can support multiple locales within a * single system. For example, a server may support multiple users, * each needing a different locale. In such an environment a * <code>LocaleProvider</code> service must be registered that can * determine the current locale for the context of the call to the * {@link #getLocale()} method. * </p> * @since 1.1 */ public interface LocaleProvider { /** * Determines the current locale for the context of the call to * this method. For environments that support a single system wide * locale, this is equivalent to calling {@link Locale#getDefault()}. * <p> * The result of this method should not be retained or passed to other * threads. The current locale can change any time and may be * different for each thread. * </p> * @return The current locale. */ public Locale getLocale(); }