Constructor<?> constructor = packageSourceClass.getConstructor();
Object result = constructor.newInstance();
if (result instanceof PackageSource) {
packageSource = (PackageSource<Nupkg>) result;
} else {
throw new NugetFormatException(format("Класс {0} не является {1}", className, PackageSource.class.getName()));
}
} catch (NoSuchMethodException | ClassNotFoundException |
InstantiationException |
IllegalAccessException |
IllegalArgumentException |
InvocationTargetException e) {
throw new NugetFormatException(format("Ошибка создания объекта класса {0}", className), e);
}
}