package net.sf.jasperreports.engine.fill; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.JRRuntimeException; public class JRIncrementerFactoryCache { private static Map factoriesMap = null; public static synchronized JRIncrementerFactory getInstance(Class factoryClass) { if (factoriesMap == null) factoriesMap = new HashMap(); JRIncrementerFactory incrementerFactory = (JRIncrementerFactory)factoriesMap.get(factoryClass.getName()); if (incrementerFactory == null) { try { incrementerFactory = factoryClass.newInstance(); } catch (InstantiationException e) { throw new JRRuntimeException(e); } catch (IllegalAccessException e) { throw new JRRuntimeException(e); } factoriesMap.put(factoryClass.getName(), incrementerFactory); } return incrementerFactory; } }