package com.constellio.model.utils; public class InstanciationUtils { public <T> T instanciateWithoutExpectableExceptions(Class<T> clazz) { if (clazz == null) { return null; } try { return clazz.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new InstanciationUtilsRuntimeException(e); } } public <T> Class<T> loadClassWithoutExpectableExceptions(String classname) { try { return (Class<T>) Class.forName(classname); } catch (ClassNotFoundException e) { throw new InstanciationUtilsRuntimeException(e); } } public <T> T instanciate(String classname) { Class<T> clazz = loadClassWithoutExpectableExceptions(classname); return instanciateWithoutExpectableExceptions(clazz); } }