001/* 002 * (C) Copyright 2012 Nuxeo SA (http://nuxeo.com/) and contributors. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser General Public License 006 * (LGPL) version 2.1 which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/lgpl.html 008 * 009 * This library is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * Contributors: 015 * matic 016 */ 017package org.nuxeo.ecm.platform.web.common.locale; 018 019import java.util.Locale; 020import java.util.TimeZone; 021 022import org.nuxeo.ecm.core.api.CoreSession; 023import org.nuxeo.ecm.core.api.DocumentModel; 024 025/** 026 * Provides locale and timezone. 027 * 028 * @since 5.6 029 */ 030public interface LocaleProvider { 031 032 /** 033 * @return the Locale to be used or null to let the caller decides. 034 */ 035 public Locale getLocale(CoreSession session); 036 037 /** 038 * Gets the locale stored in the given user profile. 039 * 040 * @return the Locale to be used or null to let the caller decide 041 */ 042 Locale getLocale(DocumentModel userProfileDoc); 043 044 /** 045 * @return the Timezone to be used or null to let the caller decides. 046 */ 047 public TimeZone getTimeZone(CoreSession session); 048 049}