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