Package org.jvnet.hk2.config
Class InjectionManager.InjectClass
java.lang.Object
org.jvnet.hk2.config.InjectionManager.InjectClass
- Record Components:
ic- Injection Contect protected void asyncDoInject(final InjectContext ic) { ArrayListtasks = new ArrayList (); Classinvalid input: '<'?> classType = ic.type; while (null != classType invalid input: '&'invalid input: '&' Object.class != classType) { tasks.add(0, new InjectClass(classType, ic)); classType = classType.getSuperclass(); } WorkManager wm = new WorkManager(ic.es, tasks.size()); wm.executeAll(tasks); try { wm.awaitCompletion(); } catch (WorkManager.ExecutionException e) { LinkageError cause = e.getCause(LinkageError.class); if (null != cause) { // reflection could trigger additional classloading and resolution, so it // can cause linkage error. // report more information to assist diagnosis. // can't trust component.toString() as the object could be in an // inconsistent state. LinkageError x = AccessController.doPrivileged(new PrivilegedAction () {
- All Implemented Interfaces:
Runnable
- Enclosing class:
InjectionManager
Prototype for the multi-threaded version of inject().
-
Constructor Summary
Constructors -
Method Summary