blob: 2dde516f91de2ee5a89aca56dc3e5926705d92e5 [file] [log] [blame]
/*******************************************************************************
* 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();
}