Examples of MixinDefinition


Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

     *
     * @param mixinClass the mixin class
     * @param mixinCalledFromLoader classloader of the target class advised by the mixin (app server packaging)
     */
    private static MixinFactory createMixinFactory(final Class mixinClass, final ClassLoader mixinCalledFromLoader) {
        MixinDefinition mixinDefinition = null;

        Set definitions = SystemDefinitionContainer.getDefinitionsFor(mixinCalledFromLoader);
        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

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

                final InterfaceIntroductionDefinition interfaceIntroDef = (InterfaceIntroductionDefinition) it2.next();
                interfacesToAdd.addAll(interfaceIntroDef.getInterfaceClassNames());
            }
            final List mixinDefinitions = systemDefinition.getMixinDefinitions(ctx);
            for (Iterator it2 = mixinDefinitions.iterator(); it2.hasNext();) {
                final MixinDefinition mixinDef = (MixinDefinition) it2.next();
                final List interfaceList = mixinDef.getInterfaceClassNames();
                for (Iterator it3 = interfaceList.iterator(); it3.hasNext();) {
                    interfacesToAdd.add(((String) it3.next()));
                }
            }
        }
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

            if (ClassInfoHelper.hasMethodClash(interfaceSet, m_ctx.getLoader())) {
                return;
            }

            for (Iterator it2 = mixinDefs.iterator(); it2.hasNext();) {
                final MixinDefinition mixinDef = (MixinDefinition) it2.next();
                final ClassInfo mixinImpl = mixinDef.getMixinImpl();
                final DeploymentModel deploymentModel = mixinDef.getDeploymentModel();

                if (m_mixinFields.containsKey(mixinImpl)) {
                    continue;
                }
                final MixinFieldInfo fieldInfo = new MixinFieldInfo();
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

            if (ClassInfoHelper.hasMethodClash(interfaceSet, m_ctx.getLoader())) {
                return;
            }

            for (Iterator it2 = mixinDefs.iterator(); it2.hasNext();) {
                final MixinDefinition mixinDef = (MixinDefinition) it2.next();
                final ClassInfo mixinImpl = mixinDef.getMixinImpl();
                final DeploymentModel deploymentModel = mixinDef.getDeploymentModel();

                if (m_mixinFields.containsKey(mixinImpl)) {
                    continue;
                }
                final MixinFieldInfo fieldInfo = new MixinFieldInfo();
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

     *
     * @param mixinClass the mixin class
     * @param mixinCalledFromLoader classloader of the target class advised by the mixin (app server packaging)
     */
    private static MixinFactory createMixinFactory(final Class mixinClass, final ClassLoader mixinCalledFromLoader) {
        MixinDefinition mixinDefinition = null;

        Set definitions = SystemDefinitionContainer.getDefinitionsFor(mixinCalledFromLoader);
        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

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

                final InterfaceIntroductionDefinition interfaceIntroDef = (InterfaceIntroductionDefinition) it2.next();
                interfacesToAdd.addAll(interfaceIntroDef.getInterfaceClassNames());
            }
            final List mixinDefinitions = systemDefinition.getMixinDefinitions(ctx);
            for (Iterator it2 = mixinDefinitions.iterator(); it2.hasNext();) {
                final MixinDefinition mixinDef = (MixinDefinition) it2.next();
                if (ADVISABLE_MIXIN_IMPL_NAME.equals(mixinDef.getMixinImpl().getName())) {
                    // mark it as made advisable
                    m_ctx.markMadeAdvisable();
                }
                final List interfaceList = mixinDef.getInterfaceClassNames();
                for (Iterator it3 = interfaceList.iterator(); it3.hasNext();) {
                    interfacesToAdd.add(((String) it3.next()));
                }
            }
        }
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

        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

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

            if (ClassInfoHelper.hasMethodClash(interfaceSet, m_ctx.getLoader())) {
                return;
            }

            for (Iterator it2 = mixinDefs.iterator(); it2.hasNext();) {
                final MixinDefinition mixinDef = (MixinDefinition) it2.next();
                final ClassInfo mixinImpl = mixinDef.getMixinImpl();
                final DeploymentModel deploymentModel = mixinDef.getDeploymentModel();

                if (m_mixinFields.containsKey(mixinImpl)) {
                    continue;
                }
                final MixinFieldInfo fieldInfo = new MixinFieldInfo();
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

     *
     * @param mixinClass the mixin class
     * @param mixinCalledFromLoader classloader of the target class advised by the mixin (app server packaging)
     */
    private static MixinFactory createMixinFactory(final Class mixinClass, final ClassLoader mixinCalledFromLoader) {
        final MixinDefinition mixinDefinition = getMixinDefinition(mixinClass, mixinCalledFromLoader);

        String factoryClassName = mixinDefinition.getFactoryClassName();
        try {
            Class containerClass;
            if (factoryClassName == null) {
                containerClass = ContextClassLoader.forName(mixinClass.getClassLoader(), DEFAULT_MIXIN_FACTORY);
            } else {
                containerClass = ContextClassLoader.forName(mixinClass.getClassLoader(), factoryClassName);
            }
            Constructor constructor = containerClass.getConstructor(new Class[]{Class.class, DeploymentModel.class});
            final MixinFactory factory = (MixinFactory) constructor.newInstance(
                    new Object[]{mixinClass, mixinDefinition.getDeploymentModel()}
            );
            return factory;
        } catch (InvocationTargetException e) {
            throw new DefinitionException(e.getTargetException().toString());
        } catch (NoSuchMethodException e) {
View Full Code Here

Examples of org.codehaus.aspectwerkz.definition.MixinDefinition

     *
     * @param mixinClass
     * @return
     */
    public static Map getParameters(Class mixinClass, ClassLoader loader) {
        MixinDefinition mixinDefinition = getMixinDefinition(mixinClass,  loader);
        return mixinDefinition.getParameters();
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.