public boolean hasNext() { if (nextProc != null) return true; else { if (!names.hasNext()) return false; else { String processorName = names.next(); Processor processor; try { try { processor = (Processor) (processorCL.loadClass(processorName).newInstance()); } catch (ClassNotFoundException cnfe) { log.error("proc.processor.not.found", processorName); return false; } catch (ClassCastException cce) { log.error("proc.processor.wrong.type", processorName); return false; } catch (Exception e) { log.error("proc.processor.cant.instantiate", processorName); return false; } } catch (ClientCodeException e) { throw e; } catch (Throwable t) { throw new AnnotationProcessingError(t); } nextProc = processor; return true; } } }
/** * The value of <code>get(uidClassID)</code> must be the <code>String</code> name of a class that * implements the corresponding <code>ComponentUI</code> class. If the class hasn't been loaded * before, this method looks up the class with <code>uiClassLoader.loadClass()</code> if a non * <code>null</code> class loader is provided, <code>classForName()</code> otherwise. * * <p>If a mapping for <code>uiClassID</code> exists or if the specified class can't be found, * return <code>null</code>. * * <p>This method is used by <code>getUI</code>, it's usually not necessary to call it directly. * * @param uiClassID a string containing the class ID * @param uiClassLoader the object which will load the class * @return the value of <code>Class.forName(get(uidClassID))</code> * @see #getUI */ public Class<? extends ComponentUI> getUIClass(String uiClassID, ClassLoader uiClassLoader) { try { String className = (String) get(uiClassID); if (className != null) { ReflectUtil.checkPackageAccess(className); Class cls = (Class) get(className); if (cls == null) { if (uiClassLoader == null) { cls = SwingUtilities.loadSystemClass(className); } else { cls = uiClassLoader.loadClass(className); } if (cls != null) { // Save lookup for future use, as forName is slow. put(className, cls); } } return cls; } } catch (ClassNotFoundException e) { return null; } catch (ClassCastException e) { return null; } return null; }
Class<?> getPluginClass(String packageName, String className) throws NameNotFoundException, ClassNotFoundException { Context pluginContext = this.mAppContext.createPackageContext( packageName, Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY); ClassLoader pluginCL = pluginContext.getClassLoader(); return pluginCL.loadClass(className); }
/* STATIC ACCESSORY METHODS */ public static Class getClassOfBean(ClassLoader classLoader, String clazz) { Class cls = null; try { cls = classLoader.loadClass(clazz); } catch (ClassNotFoundException cnfe) { } return cls; }
@SuppressWarnings("unchecked") public void addDefaultValue(String className, JSONObject oper) throws Exception { ObjectMapper defaultValueMapper = ObjectMapperFactory.getOperatorValueSerializer(); Class<? extends Operator> clazz = (Class<? extends Operator>) classLoader.loadClass(className); if (clazz != null) { Operator operIns = clazz.newInstance(); String s = defaultValueMapper.writeValueAsString(operIns); oper.put("defaultValue", new JSONObject(s).get(className)); } }
@SuppressWarnings("unchecked") public Class<? extends Operator> getOperatorClass(String className) throws ClassNotFoundException { if (CollectionUtils.isEmpty(operatorClassNames)) { loadOperatorClass(); } Class<?> clazz = classLoader.loadClass(className); if (!Operator.class.isAssignableFrom(clazz)) { throw new IllegalArgumentException("Argument must be a subclass of Operator class"); } return (Class<? extends Operator>) clazz; }
/** Look on disk for an editor with the class name 'ocName'. */ PluggableEditor loadEditorFromDisk(String ocName) { // if here, we need to look on disk for a pluggable editor class... log.finer("looking for ocName: " + ocName); try { Class c = myLoader.loadClass(ocName); Constructor constructor = c.getConstructor(new Class[0]); // XXX If the pluggable editor has an error in the constructor, under some // XXX circumstances it can fail so badly that this call never returns, and // XXX the thread hangs! It doesn't even get to the exception handler below... // XXX but sometimes if the constructor fails everything works as expected. Wierd. PluggableEditor editor = (PluggableEditor) constructor.newInstance(new Object[0]); editors.put(ocName, editor); // add the new editor to our list return editor; } catch (Exception e) // expected condition - just means no pluggable editor available { if (e instanceof InvocationTargetException) // rare exception - an error was encountered in the plugin's // constructor. { log.warning("unable to load special editor for: '" + ocName + "' " + e); if (JXConfig.debugLevel >= 1) { log.warning("Error loading plugin class: "); ((InvocationTargetException) e).getTargetException().printStackTrace(); } } log.log(Level.FINEST, "'Expected' Error loading " + ocName, e); editors.put(ocName, NONE); // add a blank place holder - we can't load // an editor for this, and there's no point looking again. (change if want dynamic loading, // i.e. look *every* time) } return null; // only here if an error has occured. }
public void loadContents() { // read from the class (operations and atributes) Debug.assert( getReference() != null, "my own ref null"); org.omg.CORBA.StructDef myReference = org.omg.CORBA.StructDefHelper.narrow( getReference()); Debug.assert( myReference != null, "narrow failed for " + getReference() ); /* load nested definitions from interfacePackage directory */ String[] classes = null; if( my_dir != null ) { classes = my_dir.list( new IRFilenameFilter(".class") ); // load class files in this interface's Package directory if( classes != null) { for( int j = 0; j < classes.length; j++ ) { try { org.jacorb.util.Debug.output(2, "Struct " +name+ " tries " + full_name.replace('.', fileSeparator) + "Package" + fileSeparator + classes[j].substring( 0, classes[j].indexOf(".class")) ); ClassLoader loader = getClass().getClassLoader(); if( loader == null ) { loader = RepositoryImpl.loader; } Class cl = loader.loadClass( ( full_name.replace('.', fileSeparator) + "Package" + fileSeparator + classes[j].substring( 0, classes[j].indexOf(".class")) ).replace( fileSeparator, '/') ); Contained containedObject = Contained.createContained( cl, path, myReference, containing_repository ); if( containedObject == null ) continue; org.omg.CORBA.Contained containedRef = Contained.createContainedReference(containedObject); if( containedObject instanceof ContainerType ) ((ContainerType)containedObject).loadContents(); containedRef.move( myReference, containedRef.name(), containedRef.version() ); org.jacorb.util.Debug.output(2, "Struct " + full_name + " loads "+ containedRef.name() ); contained.put( containedRef.name() , containedRef ); containedLocals.put( containedRef.name(), containedObject ); } catch ( Exception e ) { e.printStackTrace(); } } } } }