protected void register(ComponentDef componentDef) { AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, pointcut); componentDef.addAspectDef(aspectDef); } }
protected void registerInterceptor(ComponentDef componentDef) { AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, pointcut); componentDef.addAspectDef(aspectDef); } }
protected void appendAspect(ComponentDef componentDef, String interceptor, String pointcut) { if (interceptor == null) { throw new EmptyRuntimeException("interceptor"); } AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, pointcut); componentDef.addAspectDef(aspectDef); }
protected void appendAspect(ComponentDef componentDef, String interceptor, Method targetMethod) { if (interceptor == null) { throw new EmptyRuntimeException("interceptor"); } AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, targetMethod); componentDef.addAspectDef(aspectDef); }
/** * @param componentDef * @param interceptor * @param pointcut */ protected void appendAspect(final ComponentDef componentDef, final String interceptor, final Method pointcut) { if (interceptor == null) { throw new EmptyRuntimeException("interceptor"); } final AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, pointcut); componentDef.addAspectDef(aspectDef); }
@Override protected void doCustomize(final ComponentDef componentDef) { if (useLookupAdapter) { final MethodInterceptor adaptor = new LookupAdaptorInterceptor((String[]) interceptorNames.toArray(new String[interceptorNames.size()])); final AspectDef aspectDef = AspectDefFactory.createAspectDef(new SimpleComponentDef(adaptor), createPointcut()); componentDef.addAspectDef(aspectDef); } else { for (int i = 0; i < interceptorNames.size(); ++i) { final AspectDef aspectDef = AspectDefFactory.createAspectDef((String) interceptorNames.get(i), createPointcut()); componentDef.addAspectDef(aspectDef); } } }
/** * @param componentDef * @param interceptor * @param pointcut */ protected void appendAspect(final ComponentDef componentDef, final String interceptor, final String pointcut) { if (interceptor == null) { throw new EmptyRuntimeException("interceptor"); } final AspectDef aspectDef = AspectDefFactory.createAspectDef(interceptor, pointcut); componentDef.addAspectDef(aspectDef); }
/** * @param componentDef * @param componentClass */ protected void processMethod(final ComponentDef componentDef, final Class<?> componentClass) { for (final Method method : componentClass.getMethods()) { if (method.isBridge() || method.isSynthetic()) { continue; } final int modifiers = method.getModifiers(); if (!Modifier.isPublic(modifiers) || Modifier.isStatic(modifiers) || Modifier.isFinal(modifiers)) { continue; } for (final Annotation annotation : method.getAnnotations()) { final Class<? extends Annotation> annotationType = annotation.annotationType(); final Annotation metaAnnotation = annotationType.getAnnotation(getMetaAnnotationType()); if (metaAnnotation == null) { continue; } final AspectDef aspectDef = new AspectDefImpl(new PointcutImpl(method)); aspectDef.setExpression(new MetaAnnotationExpression(annotation)); componentDef.addAspectDef(aspectDef); } } }
@Override protected void doCustomize(final ComponentDef componentDef) { final Class<?> componentClass = componentDef.getComponentClass(); if (componentClass.getAnnotation(Transactional.class) != null) { String msg = "Cannot use the transactional annotation for class, use for method: " + componentDef; throw new IllegalStateException(msg); } for (final Method method : componentClass.getMethods()) { if (method.isSynthetic() || method.isBridge()) { continue; } if (method.getDeclaringClass() == Object.class) { continue; } final Transactional methodAttr = method.getAnnotation(Transactional.class); if (isOutOfTxMethod(methodAttr, method)) { continue; } // action execute or has transaction attribute either class or method here final Transactional.TxType methodAttrType = methodAttr.value(); final String interceptorName = txInterceptors.get(methodAttrType); if (!LdiStringUtil.isEmpty(interceptorName)) { componentDef.addAspectDef(AspectDefFactory.createAspectDef(interceptorName, method)); } } }
public void end(TagHandlerContext context, String body) { AspectDef aspectDef = (AspectDef) context.pop(); if (!LdiStringUtil.isEmpty(body)) { aspectDef.setExpression(createExpression(context, body)); } ComponentDef componentDef = (ComponentDef) context.peek(); componentDef.addAspectDef(aspectDef); }
/** * @param componentDef * @param componentClass */ protected void processClass(final ComponentDef componentDef, final Class<?> componentClass) { for (final Annotation annotation : componentClass.getAnnotations()) { final Class<? extends Annotation> annotationType = annotation.annotationType(); final Annotation metaAnnotation = annotationType.getAnnotation(getMetaAnnotationType()); if (metaAnnotation == null) { continue; } final String pointcut = getPointcut(annotation); final AspectDef aspectDef = new AspectDefImpl(); if (!LdiStringUtil.isEmpty(pointcut)) { aspectDef.setPointcut(AspectDefFactory.createPointcut(pointcut)); } aspectDef.setExpression(new MetaAnnotationExpression(annotation)); componentDef.addAspectDef(aspectDef); } }
if (aspectAnnotation != null) { AspectDef aspectDef = AspectDefFactory.createAspectDef(aspectAnnotation.value(), aspectAnnotation.pointcut()); componentDef.addAspectDef(aspectDef);