package org.infinispan.objectfilter.impl.syntax.parser; /** * @author anistor@redhat.com * @since 7.0 */ public final class ReflectionEntityNamesResolver implements EntityNameResolver { private final ClassLoader[] classLoaders; public ReflectionEntityNamesResolver(ClassLoader userClassLoader) { this.classLoaders = new ClassLoader[]{userClassLoader, ClassLoader.getSystemClassLoader(), Thread.currentThread().getContextClassLoader()}; } @Override public Class<?> resolve(String entityName) { for (ClassLoader cl : classLoaders) { try { return cl != null ? Class.forName(entityName, true, cl) : Class.forName(entityName); } catch (ClassNotFoundException | NoClassDefFoundError ex) { // ignore } } return null; } }