Package org.codehaus.aspectwerkz.definition

Examples of org.codehaus.aspectwerkz.definition.AdviceDefinition


                                      final AspectDefinition aspectDef) {
        List afterAnnotations = AsmAnnotations.getAnnotations(AOPAnnotationConstants.ANNOTATION_AFTER(), method);
        for (Iterator iterator = afterAnnotations.iterator(); iterator.hasNext();) {
            After annotation = (After) iterator.next();
            if (annotation != null) {
                AdviceDefinition adviceDef = DefinitionParserHelper.createAdviceDefinition(
                        getAdviceNameAsInSource(method),
                        AdviceType.AFTER,
                        annotation.value(),
                        null,
                        aspectName,
                        aspectClassName,
                        method,
                        aspectDef
                );
                aspectDef.addAfterAdviceDefinition(adviceDef);
            }
        }
        afterAnnotations = AsmAnnotations.getAnnotations(AOPAnnotationConstants.ANNOTATION_AFTER_RETURNING(), method);
        for (Iterator iterator = afterAnnotations.iterator(); iterator.hasNext();) {
            AfterReturning annotation = (AfterReturning) iterator.next();
            if (annotation != null) {
                AdviceDefinition adviceDef = DefinitionParserHelper.createAdviceDefinition(
                        getAdviceNameAsInSource(method),
                        AdviceType.AFTER_RETURNING,
                        getExpressionElseValue(annotation.value(), annotation.pointcut()),
                        annotation.type(),
                        aspectName,
                        aspectClassName,
                        method,
                        aspectDef
                );
                aspectDef.addAfterAdviceDefinition(adviceDef);
            }
        }
        afterAnnotations = AsmAnnotations.getAnnotations(AOPAnnotationConstants.ANNOTATION_AFTER_THROWING(), method);
        for (Iterator iterator = afterAnnotations.iterator(); iterator.hasNext();) {
            AfterThrowing annotation = (AfterThrowing) iterator.next();
            if (annotation != null) {
                AdviceDefinition adviceDef = DefinitionParserHelper.createAdviceDefinition(
                        getAdviceNameAsInSource(method),
                        AdviceType.AFTER_THROWING,
                        getExpressionElseValue(annotation.value(), annotation.pointcut()),
                        annotation.type(),
                        aspectName,
                        aspectClassName,
                        method,
                        aspectDef
                );
                aspectDef.addAfterAdviceDefinition(adviceDef);
            }
        }
        afterAnnotations = AsmAnnotations.getAnnotations(AOPAnnotationConstants.ANNOTATION_AFTER_FINALLY(), method);
        for (Iterator iterator = afterAnnotations.iterator(); iterator.hasNext();) {
            AfterFinally annotation = (AfterFinally) iterator.next();
            if (annotation != null) {
                AdviceDefinition adviceDef = DefinitionParserHelper.createAdviceDefinition(
                        getAdviceNameAsInSource(method),
                        AdviceType.AFTER_FINALLY,
                        annotation.value(),
                        null,
                        aspectName,
View Full Code Here


                                java.lang.System.arraycopy(tmpAspects, 0, m_aspectContainers, 0, tmpAspects.length);

                                // retrieve a sorted advices list => matches the sorted method list in the aspectContainer
                                List advices = crossCuttingInfo.getAspectDefinition().getAllAdvices();
                                for (Iterator it = advices.iterator(); it.hasNext();) {
                                    final AdviceDefinition adviceDef = (AdviceDefinition)it.next();
                                    IndexTuple tuple = new IndexTuple(
                                            indexAspect, adviceDef.getMethodIndex(),
                                            m_aspectManager
                                    );

                                    //prefix AdviceName with AspectName to allow AspectReuse
                                    m_adviceIndexes.put(crossCuttingInfo.getName() + "/" + adviceDef.getName(), tuple);
                                }

                                // mixins
                                List introductions = crossCuttingInfo.getAspectDefinition().getIntroductions();
                                for (Iterator it = introductions.iterator(); it.hasNext();) {
View Full Code Here

TOP

Related Classes of org.codehaus.aspectwerkz.definition.AdviceDefinition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.