private Class<?> resolveClass(ModelResolver resolver, String className, ProcessorContext context) throws ClassNotFoundException { ClassReference classReference = new ClassReference(className); classReference = resolver.resolveModel(ClassReference.class, classReference, context); if (classReference.isUnresolved()) { throw new ClassNotFoundException(className); } Class<?> javaClass = classReference.getJavaClass(); return javaClass; }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { // Extract the package name int d = name.lastIndexOf('.'); String packageName; if (d != -1) { packageName = name.substring(0, d); } else { packageName = null; } // First try to load the class using the Java import resolvers ModelResolver importResolver = importResolvers.get(packageName); if (importResolver != null) { ClassReference classReference = importResolver.resolveModel(ClassReference.class, new ClassReference(name), context); if (!classReference.isUnresolved()) { contributionContainingClass = classReference.getContributionContainingClass(); return classReference.getJavaClass(); } } // Next, try to load the class from the current contribution Class<?> clazz = super.findClass(name); return clazz; }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { // Extract the package name int d = name.lastIndexOf('.'); String packageName; if (d != -1) { packageName = name.substring(0, d); } else { packageName = null; } // First try to load the class using the Java import resolvers ModelResolver importResolver = importResolvers.get(packageName); if (importResolver != null) { ClassReference classReference = importResolver.resolveModel(ClassReference.class, new ClassReference(name), context); if (!classReference.isUnresolved()) { contributionContainingClass = classReference.getContributionContainingClass(); return classReference.getJavaClass(); } } // Next, try to load the class from the current contribution Class<?> clazz = super.findClass(name); return clazz; }