Package org.codehaus.aspectwerkz.definition

Examples of org.codehaus.aspectwerkz.definition.SystemDefinition


     */
    public static boolean classFilter(final ClassInfo classInfo,
                                      final ExpressionContext ctx,
                                      final Set definitions) {
        for (Iterator it = definitions.iterator(); it.hasNext();) {
            SystemDefinition systemDef = (SystemDefinition) it.next();
            if (classInfo.isInterface()) {
                return true;
            }
            String className = classInfo.getName().replace('/', '.');
            if (systemDef.inExcludePackage(className)) {
                return true;
            }
            if (!systemDef.inIncludePackage(className)) {
                return true;
            }
            if (systemDef.hasMixin(ctx) || systemDef.hasIntroducedInterface(ctx)) {
                return false;
            }
        }
        return true;
    }
View Full Code Here


        }



        SystemDefinition def = SystemDefinitionContainer.getVirtualDefinitionAt(cl);

        AspectDefinition aspectDef = new AspectDefinition(aspectInfo.getName(), aspectInfo, def);

        AdviceDefinition adviceDef = AdviceDefinition.newInstance(

                "invoke",// as per AOPAlliance

                AdviceType.AROUND,

                "execution("+pointcut+")",

                null,

                aspectInfo.getName(),

                aspectInfo.getName(),

                aspectInfo.getMethod(ReflectHelper.calculateHash(AOP_ALLIANCE_METHOD_AROUND)),

                aspectDef

        );



        // make it an AOP Alliance aspect for the compiler

        aspectDef.setAspectModel(ASPECT_MODEL_TYPE);

        aspectDef.setContainerClassName(ASPECT_CONTAINER_CLASS_NAME);



        // add the advice

        aspectDef.addAroundAdviceDefinition(adviceDef);



        // add the aspect

        def.addAspect(aspectDef);



        return new Handle(adviceDef);
View Full Code Here

                GenerateClasses.class.getClassLoader()

        );

        SystemDefinition sd = SystemDefinitionContainer.getVirtualDefinitionAt(custom_3);

        sd.addDeploymentScope(DeploymentScope.MATCH_ALL);

        DefinitionParserHelper.attachDeploymentScopeDefsToVirtualAdvice(sd);

        Set defs = new HashSet();
View Full Code Here

        final List afterThrowingAdvices = new ArrayList();

        final Set systemDefinitions = SystemDefinitionContainer.getDefinitionsFor(loader);

        for (Iterator iterator = systemDefinitions.iterator(); iterator.hasNext();) {
            SystemDefinition systemDefinition = (SystemDefinition) iterator.next();
            Collection aspects = systemDefinition.getAspectDefinitions();
            for (Iterator iterator1 = aspects.iterator(); iterator1.hasNext();) {
                AspectDefinition aspectDefinition = (AspectDefinition) iterator1.next();
                if (aspectDefinition.getName().equals(Virtual.class.getName())) {
                    continue;
                }
View Full Code Here

    public MyImpl() {
        s_count++;

        // access the param
        SystemDefinition def = SystemDefinitionContainer.getDefinitionFor(
                this.getClass().getClassLoader(),
                "tests"
        );
        for (Iterator iterator = def.getMixinDefinitions().iterator(); iterator.hasNext();) {
            MixinDefinition mixinDefinition = (MixinDefinition) iterator.next();
            if (mixinDefinition.getMixinImpl().getName().equals(this.getClass().getName().replace('/','.'))) {
                s_params = mixinDefinition.getParameters();
                break;
            }
View Full Code Here

        // check some
        if (aspectInfo.getMethod(ReflectHelper.calculateHash(AOP_ALLIANCE_METHOD_AROUND)) == null) {
            throw new RuntimeException("Aspect is not AOP Alliance compatible - " + aopAllianceAspect.getName());
        }

        SystemDefinition def = SystemDefinitionContainer.getVirtualDefinitionAt(cl);
        AspectDefinition aspectDef = new AspectDefinition(aspectInfo.getName(), aspectInfo, def);
        AdviceDefinition adviceDef = AdviceDefinition.newInstance(
                "invoke",// as per AOPAlliance
                AdviceType.AROUND,
                "execution("+pointcut+")",
                null,
                aspectInfo.getName(),
                aspectInfo.getName(),
                aspectInfo.getMethod(ReflectHelper.calculateHash(AOP_ALLIANCE_METHOD_AROUND)),
                aspectDef
        );

        // make it an AOP Alliance aspect for the compiler
        aspectDef.setAspectModel(ASPECT_MODEL_TYPE);
        aspectDef.setContainerClassName(ASPECT_CONTAINER_CLASS_NAME);

        // add the advice
        aspectDef.addAroundAdviceDefinition(adviceDef);

        // add the aspect
        def.addAspect(aspectDef);

        return new Handle(adviceDef);
    }
View Full Code Here

     */
    public static boolean classFilter(final ClassInfo classInfo,
                                      final ExpressionContext ctx,
                                      final Set definitions) {
        for (Iterator it = definitions.iterator(); it.hasNext();) {
            SystemDefinition systemDef = (SystemDefinition) it.next();
            if (classInfo.isInterface()) {
                return true;
            }
            String className = classInfo.getName().replace('/', '.');
            if (systemDef.inExcludePackage(className)) {
                return true;
            }
            if (!systemDef.inIncludePackage(className)) {
                return true;
            }
            if (systemDef.hasMixin(ctx)) {
                return false;
            }
        }
        return true;
    }
View Full Code Here

        Set definitions = SystemDefinitionContainer.getDefinitionsFor(visibleFrom);
        if (qName.indexOf('/')>0) {
            // has system uuid ie real qName
            for (Iterator iterator = definitions.iterator(); iterator.hasNext();) {
                SystemDefinition systemDefinition = (SystemDefinition) iterator.next();
                for (Iterator iterator1 = systemDefinition.getAspectDefinitions().iterator(); iterator1.hasNext();) {
                    AspectDefinition aspectDef = (AspectDefinition) iterator1.next();
                    if (qName.equals(aspectDef.getQualifiedName())) {
                        aspectDefinition = aspectDef;
                        break;
                    }
                }
            }
        } else {
            // fallback on class name lookup
            // must find at most one
            int found = 0;
            for (Iterator iterator = definitions.iterator(); iterator.hasNext();) {
                SystemDefinition systemDefinition = (SystemDefinition) iterator.next();
                for (Iterator iterator1 = systemDefinition.getAspectDefinitions().iterator(); iterator1.hasNext();) {
                    AspectDefinition aspectDef = (AspectDefinition) iterator1.next();
                    if (qName.equals(aspectDef.getClassName())) {
                        aspectDefinition = aspectDef;
                        found++;
                    }
View Full Code Here

    public static MixinDefinition getMixinDefinition(Class mixinClass, ClassLoader visibleFrom) {
        MixinDefinition mixinDefinition = null;

        Set definitions = SystemDefinitionContainer.getDefinitionsFor(visibleFrom);
        for (Iterator iterator = definitions.iterator(); iterator.hasNext() && mixinDefinition == null;) {
            SystemDefinition systemDefinition = (SystemDefinition) iterator.next();
            for (Iterator iterator1 = systemDefinition.getMixinDefinitions().iterator(); iterator1.hasNext();) {
                MixinDefinition mixinDef = (MixinDefinition) iterator1.next();
                if (mixinClass.getName().replace('/', '.').equals(mixinDef.getMixinImpl().getName())) {
                    mixinDefinition = mixinDef;
                    break;
                }
View Full Code Here

        ClassLoader custom_3 = new WeavingClassLoader(
                new URL[]{(new File(DUMP_DIR)).toURL()},
                GenerateClasses.class.getClassLoader()
        );
        SystemDefinition sd = SystemDefinitionContainer.getVirtualDefinitionAt(custom_3);
        sd.addDeploymentScope(DeploymentScope.MATCH_ALL);
        DefinitionParserHelper.attachDeploymentScopeDefsToVirtualAdvice(sd);
        Set defs = new HashSet();
        defs.add(sd);
        SystemDefinitionContainer.deployDefinitions(custom_3, defs);
        bench("Weaver hooked in and match all", custom_3, CLASS_COUNT, JP_COUNT);
View Full Code Here

TOP

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

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.