@SuppressWarnings("rawtypes") static Optional<Class> findClass(final ClassLoader loader, final String name) { return Stream.of(loader, Thread.currentThread().getContextClassLoader()) // we don't care about exception .map(Throwing.<ClassLoader, Class>throwingFunction(cl -> cl.loadClass(name)) .orElse((Class) null)) .filter(Objects::nonNull) .findFirst(); }
.orElse(ConfigFactory.empty());
@SuppressWarnings("rawtypes") static Optional<Class> findClass(final ClassLoader loader, final String name) { return Stream.of(loader, Thread.currentThread().getContextClassLoader()) // we don't care about exception .map(Throwing.<ClassLoader, Class>throwingFunction(cl -> cl.loadClass(name)) .orElse((Class) null)) .filter(Objects::nonNull) .findFirst(); }
/** * Apply this function and returns the given default value in case of exception. * * @param defaultValue Exceptional default value. * @return A new function. */ default Function<V, R> orElse(R defaultValue) { return orElse(() -> defaultValue); }