1 /*******************************************************************************
2 * Copyright © Igor Barma, Alexandre Desoubeaux, Christian Martel, Eric Brun, Mathieu Amblard, Gwenael Gevet, Pierre Guillot, 2012
4 * This file is part of the work and learning management system Pentila Nero.
6 * Pentila Nero is free software. You can redistribute it and/or modify since
7 * you respect the terms of either (at least one of the both license) :
8 * - under the terms of the GNU Affero General Public License as
9 * published by the Free Software Foundation, either version 3 of the
10 * License, or (at your option) any later version.
11 * - the CeCILL-C as published by CeCILL-C; either version 1 of the
12 * License, or any later version
13 * - the GNU Lesser General Public License as published by the
14 * Free Software Foundation, either version 3 of the license,
15 * or (at your option) any later version.
17 * There are special exceptions to the terms and conditions of the
18 * licenses as they are applied to this software. View the full text of
19 * the exception in file LICENSE-PROJECT.txt in the directory of this software
22 * Pentila Nero is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * Licenses for more details.
27 * You should have received a copy of the GNU Affero General Public License
28 * and the CeCILL-C and the GNU Lesser General Public License along with
29 * Pentila Nero. If not, see :
30 * <http://www.gnu.org/licenses/> and
31 * <http://www.cecill.info/licences.fr.html>.
32 ******************************************************************************/
33 package com.pentila.entSavoie;
35 import java.util.HashMap;
39 * @author Lancelot SIX
41 * Classe permettant la creationd de ENTRolesUtil et gerant un cache pour
42 * limiter les creations d'instances. (une par company est suffisant)
45 public class ENTRoleUtilFactory {
48 * @param companyId L'id de la companie pour laquelle nous désirons un
50 * @return Le singleton de ENTRolesUtil corresponsant au companyId visé
52 public static ENTRolesUtil getInstance(long companyId) {
53 //Au besoin, initialisation de la map
54 if (_utilities == null) {
55 _utilities = new HashMap<Long, ENTRolesUtil>();
57 final Long compId = new Long(companyId);
59 if (!_utilities.containsKey(compId)) {
60 _utilities.put(compId, new ENTRolesUtil(companyId));
62 return _utilities.get(compId);
65 private static Map<Long, ENTRolesUtil> _utilities;