/** Resolves and returns the class for the component represented * by this info (never null). * * <p>Unlike {@link #getImplementation}, * this method will resolve a class name (String) to a class (Class), * if necessary. * * @param page the page to check whether the class is defined * in the page (such as interpreters). Ignored if null. * This method will search the class loader of the current thread. * If not found, it will search the interpreters of the specified * page ({@link Page#getLoadedInterpreters}). * Note: this method won't attach the component to the specified page. * @exception ClassNotFoundException if the class not found * @since 3.0.2 */ public Class resolveImplementationClass(Page page, Component parent) throws ClassNotFoundException { Object impl = evalImpl(page, parent); return impl instanceof Class ? (Class) impl : impl instanceof Component ? impl.getClass() : _compdef.resolveImplementationClass(page, (String) impl); }
Object impl = evalImpl(page, parent); ComponentsCtrl.setCurrentInfo(this); final Component comp;