public <T> void removeUninstallItem(CallbackItem<T> callbackItem) { Set<CallbackItem<?>> uninstallCallbacks = this.uninstallCallbacks; if (uninstallCallbacks == null) return; uninstallCallbacks.remove(callbackItem); flushJBossObjectCache(); }
public boolean resolveDependencies(Controller controller, ControllerState state) { modified = false; if (internalResolveDependencies(controller, state) == false) return false; while (modified) { modified = false; if (internalResolveDependencies(controller, state) == false) return false; } return true; }
public void resolved(DependencyItem item) { if (tracking) { ControllerState whenRequired = item.getWhenRequired(); removeUnresolved(item, whenRequired); removeSemiResolved(item, whenRequired); } }
/** * Create a new AbstractControllerContext. * * @param name the name * @param aliases the aliases * @param actions the actions * @param dependencies the dependencies * @param target the target */ public AbstractControllerContext(Object name, Set<Object> aliases, ControllerContextActions actions, DependencyInfo dependencies, Object target) { if (name == null) throw new IllegalArgumentException("Null name"); if (actions == null) throw new IllegalArgumentException("Null actions"); this.name = name; this.actions = actions; if (dependencies == null) this.dependencies = new AbstractDependencyInfo(); else this.dependencies = dependencies; this.target = target; setAliases(aliases); initScopeInfo(); }
public void removeIDependOn(DependencyItem dependency) { Set<DependencyItem> iDependOn = this.iDependOn; if (iDependOn == null) return; iDependOn.remove(dependency); flushJBossObjectCache(); if (dependency instanceof TrackingDependencyItem) { ((TrackingDependencyItem) dependency).setDependencyInfo(null); if (tracking) { ControllerState whenRequired = dependency.getWhenRequired(); removeUnresolved(dependency, whenRequired); } } }
protected boolean internalResolveDependencies(Controller controller, ControllerState state) { boolean resolved = true; Set<DependencyItem> items = getUnresolvedDependencies(state); if (items.isEmpty() == false) { for (DependencyItem item : items) { if (item.resolve(controller) == false) resolved = false; } } if (tracking) { items = getSemiResolvedDependencies(state); if (items.isEmpty() == false) { for (DependencyItem item : items) { if (item.resolve(controller) == false) resolved = false; } } } return resolved; }
return checkSemiResolvedIsFullyResolved(other, item.getDependentState(), alreadyChecked);
public void unresolved(DependencyItem item) { if (tracking) { ControllerState whenRequired = item.getWhenRequired(); Map<ControllerState, Set<DependencyItem>> unresolved = this.unresolved; if (unresolved == null) { this.unresolved = new ConcurrentHashMap<ControllerState, Set<DependencyItem>>(); unresolved = this.unresolved; } Set<DependencyItem> items = unresolved.get(whenRequired); if (items == null) { items = new ConcurrentSet<DependencyItem>(); unresolved.put(whenRequired, items); } items.add(item); removeSemiResolved(item, whenRequired); } }
public void semiResolved(DependencyItem item) { if (tracking) { ControllerState whenRequired = item.getWhenRequired(); Map<ControllerState, Set<DependencyItem>> semiResolved = this.semiResolved; if (semiResolved == null) { this.semiResolved = new ConcurrentHashMap<ControllerState, Set<DependencyItem>>(); semiResolved = this.semiResolved; } Set<DependencyItem> items = semiResolved.get(whenRequired); if (items == null) { items = new ConcurrentSet<DependencyItem>(); semiResolved.put(whenRequired, items); } items.add(item); removeUnresolved(item, whenRequired); } }
public void toString(JBossStringBuilder buffer) { Set<DependencyItem> iDependOn = this.iDependOn; if (iDependOn != null) buffer.append("idependOn=").append(iDependOn); try { Set<DependencyItem> unresolved = getUnresolvedDependencies(null); if (unresolved.isEmpty() == false) buffer.append(" unresolved=").append(unresolved); } catch (Throwable ignored) { buffer.append(" unresolved=" + ignored); } } }
/** * Create an abstract controller context * * @param info the bean info * @param metaData the meta data * @param target any target object */ public AbstractKernelControllerContext(BeanInfo info, BeanMetaData metaData, Object target) { super(metaData.getName(), determineAliases(metaData), target == null ? actions : noInstantiate, new AbstractDependencyInfo(), target); this.info = info; this.metaData = metaData; ControllerMode mode = metaData.getMode(); if (mode != null) setMode(mode); ErrorHandlingMode errorHandlingMode = metaData.getErrorHandlingMode(); if (errorHandlingMode != null) setErrorHandlingMode(errorHandlingMode); boolean autowireCandidate = metaData.isAutowireCandidate(); getDependencyInfo().setAutowireCandidate(autowireCandidate); if (System.getSecurityManager() != null) accessContext = AccessController.getContext(); initKernelScopeInfo(); }
ResolvedState result = checkSemiResolvedIsFullyResolved(other, item.getDependentState(), alreadyChecked); if (result != ResolvedState.RESOLVED) return result;
public void removeDependsOnMe(DependencyItem dependency) { Set<DependencyItem> dependsOnMe = this.dependsOnMe; if (dependsOnMe == null) return; dependsOnMe.remove(dependency); flushJBossObjectCache(); }
public <T> void removeInstallItem(CallbackItem<T> callbackItem) { Set<CallbackItem<?>> installCallbacks = this.installCallbacks; if (installCallbacks == null) return; installCallbacks.remove(callbackItem); flushJBossObjectCache(); }
public <T> void addInstallItem(CallbackItem<T> callbackItem) { Set<CallbackItem<?>> installCallbacks = this.installCallbacks; if (installCallbacks == null) { this.installCallbacks = new CopyOnWriteArraySet<CallbackItem<?>>(); installCallbacks = this.installCallbacks; } installCallbacks.add(callbackItem); flushJBossObjectCache(); }
public <T> void addUninstallItem(CallbackItem<T> callbackItem) { Set<CallbackItem<?>> uninstallCallbacks = this.uninstallCallbacks; if (uninstallCallbacks == null) { this.uninstallCallbacks = new CopyOnWriteArraySet<CallbackItem<?>>(); uninstallCallbacks = this.uninstallCallbacks; } uninstallCallbacks.add(callbackItem); flushJBossObjectCache(); }
public void addDependsOnMe(DependencyItem dependency) { Set<DependencyItem> dependsOnMe = this.dependsOnMe; if (dependsOnMe == null) { this.dependsOnMe = new CopyOnWriteArraySet<DependencyItem>(); dependsOnMe = this.dependsOnMe; } dependsOnMe.add(dependency); flushJBossObjectCache(); }
flushJBossObjectCache(); if (dependency instanceof TrackingDependencyItem)