List of usage examples for org.springframework.aop.aspectj.annotation SingletonMetadataAwareAspectInstanceFactory SingletonMetadataAwareAspectInstanceFactory
public SingletonMetadataAwareAspectInstanceFactory(Object aspectInstance, String aspectName)
From source file:aop.DeclareMixinAspectJAdvisorFactoryTest.java
@Test public void testDeclareMixin() { NotTargetAware notTargetAware = new NotTargetAware(); DeclareMixinAspectJAdvisorFactory factory = new DeclareMixinAspectJAdvisorFactory(); TargetAware targetAware = (TargetAware) createProxy(notTargetAware, factory.getAdvisors( new SingletonMetadataAwareAspectInstanceFactory(new DeclareMixinMakeTargetAware(), "someBean")), NotTargetAware.class); Assert.assertEquals(targetAware, targetAware.getTarget()); }
From source file:im.tym.wraop.impl.AspectJWrapperFactorySpi.java
@Override public synchronized boolean addAspect(Object aspect) { if (super.addAspect(aspect)) { return true; }/*from w w w. j a v a2s . c o m*/ if (!aspect.getClass().isAnnotationPresent(Aspect.class)) { return false; } Class aspectClass = aspect.getClass(); String aspectName = aspectClass.getName(); AspectMetadata am = createAspectMetadata(aspectClass, aspectName); if (am == null) { return false; } if (am.getAjType().getPerClause().getKind() != PerClauseKind.SINGLETON) { throw new IllegalArgumentException( "Aspect class [" + aspectClass.getName() + "] does not define a singleton aspect"); } return addAdvisorsFromAspectInstanceFactory( new SingletonMetadataAwareAspectInstanceFactory(aspect, aspectName)); }