27 lines
890 B
Java
27 lines
890 B
Java
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;
|
|
}
|
|
}
|