private static String toString(AspectManager manager) { if(manager instanceof Domain) return "domain '" + ((Domain) manager).getDomainName() + "'"; return manager.toString(); } }
public DomainDefinition(String name, AspectManager parent, boolean parentFirst, boolean inheritDefs, boolean inheritBindings) { this.name = name; Domain domain = new Domain(parent, name, parentFirst); domain.setInheritsBindings(inheritBindings); domain.setInheritsDeclarations(inheritDefs); manager = domain; }
@Override public Object getPerVMAspect(AspectDefinition def) { return getPerVMAspect(def.getName()); }
public GeneratedClassAdvisor getClassAdvisorIfInstanceAdvisorWithNoOwnDataWithEffectOnAdvices() { if (((Domain)getManager()).hasOwnDataWithEffectOnAdvices()) { return null; } return parent; }
protected void forceResortPrecedenceDefs() { synchronized (precedenceDefs) { sortedPrecedenceDefEntries = null; } synchronized (subscribedSubDomains) { copySubDomainsFromQueue(true); boolean newSubscribers = true; while (newSubscribers) { for (Domain domain : subscribedSubDomains.keySet()) { domain.forceResortPrecedenceDefs(); } newSubscribers = copySubDomainsFromQueue(false); } } }
Advisor advisor = subDomain.findAdvisor(clazz); if (advisor != null)
if (!domain.isAdvisorRegistered(advisor))continue;
public void addBinding(AdviceBinding binding) { lock.lockWrite(); try { removeBinding(binding.getName()); bindingCollection.add(binding, this); super.addPointcut(binding.getPointcut()); if (advisor != null) advisor.newBindingAdded(); } finally { lock.unlockWrite(); } }
protected void addSubDomainByName(Domain domain) { initSubDomainsByNameMap(); subDomainsByName.put(domain.getDomainName(), domain); }
private ClassProxyContainer createContainer() { String name = Domain.getDomainName(key.getClazz(), false); ProxyAdvisorDomain domain = new ProxyAdvisorDomain(manager, name, key.getClazz(), false); String classname = (key.getClazz() != null) ? key.getClazz().getName() : "AOP$Hollow"; ClassProxyContainer container = new ClassProxyContainer(classname /*+ " ClassProxy" + (counter++)*/, domain); domain.setAdvisor(container); container.initialise(key.getClazz()); return container; }
public static InstanceProxyContainer createInstanceProxyContainer(Advisor classAdvisor, InterfaceIntroduction introduction, MetaData metaData) { String name = Domain.getDomainName(classAdvisor.getClazz(), true); ProxyAdvisorDomain domain = new ProxyAdvisorDomain(classAdvisor.getManager(), name, classAdvisor.getClazz(), true); if (introduction != null) { domain.addInterfaceIntroduction(introduction); } InstanceProxyContainer ia = new InstanceProxyContainer(classAdvisor.getName(), domain, classAdvisor, metaData); return ia; }