Saturday, May 16, 2020

Coder

return () -> {
      Objects.requireNonNull(serviceName);
      IService service = null;
      try {
        service = (T) Class.forName(serviceName).getDeclaredConstructor().newInstance();
      } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException
              | InvocationTargetException | NoSuchMethodException | SecurityException e) {
        Logger logger = LogManager.getLogger(ServiceFactory.class);
        logger.error("Error Occurred obtaining service. Exception {}", e);
      }
      return (T) service;
    };