public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { //Load a class on demand Class<?> clazz = null; if (bundle != null) { try { clazz = bundle.loadClass(((ClassReference)unresolved).getClassName()); } catch (Exception e) { // Ignore } } if (clazz != null) { //if we load the class // Store a new ClassReference wrapping the loaded class ClassReference classReference = new ClassReference(clazz); // Return the resolved ClassReference return modelClass.cast(classReference); } else { return unresolved; } } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } try { this.context = context; contributionContainingClass = contribution.get(); // Load the class and return a class reference for it String className = ((ClassReference)unresolved).getClassName(); Class<?> clazz = Class.forName(className, false, this); ClassReference classReference = new ClassReference(clazz); classReference.setContributionContainingClass(contributionContainingClass); contributionContainingClass = null; return modelClass.cast(classReference); } catch (ClassNotFoundException e) { return unresolved; } finally { contributionContainingClass = null; } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } try { this.context = context; contributionContainingClass = contribution.get(); // Load the class and return a class reference for it String className = ((ClassReference)unresolved).getClassName(); Class<?> clazz = Class.forName(className, false, this); ClassReference classReference = new ClassReference(clazz); classReference.setContributionContainingClass(contributionContainingClass); contributionContainingClass = null; return modelClass.cast(classReference); } catch (ClassNotFoundException e) { return unresolved; } finally { contributionContainingClass = null; } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } // Filter package name ClassReference classReference = (ClassReference)unresolved; String className = classReference.getClassName(); int d = className.lastIndexOf('.'); String packageName; if (d != -1) { packageName = className.substring(0, d); } else { packageName = ""; } if (export.getPackage().equals(packageName)) { // Package matches the exported package, delegate to the // contribution's resolver return resolver.resolveModel(modelClass, unresolved, context); } else { // Package is not exported, return the unresolved object return unresolved; } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } // Filter package name ClassReference classReference = (ClassReference)unresolved; String className = classReference.getClassName(); int d = className.lastIndexOf('.'); String packageName; if (d != -1) { packageName = className.substring(0, d); } else { packageName = ""; } if (export.getPackage().equals(packageName)) { // Package matches the exported package, delegate to the // contribution's resolver return resolver.resolveModel(modelClass, unresolved, context); } else { // Package is not exported, return the unresolved object return unresolved; } }