Examples of InjectPlugin


Examples of net.xeoh.plugins.base.annotations.injections.InjectPlugin

        // Process every field
        for (final Field field : fields) {
            // Try to get inject annotation. New: also turn on extended accessibility, so
            // elements don't have to be public anymore.
            field.setAccessible(true);
            final InjectPlugin ipannotation = field.getAnnotation(InjectPlugin.class);

            // If there is one ..
            if (ipannotation != null) {

                // Obtain capabilities
                final String[] capabilities = ipannotation.requiredCapabilities();

                // Handle the plugin-parameter part
                // In the default case do an auto-detection ...
                final Class<? extends Plugin> typeOfField = (Class<? extends Plugin>) field.getType();

                this.logger.fine("Injecting plugin by autodetection (" + typeOfField.getName() + ") into " + plugin.getClass().getName());

                field.set(plugin, getEntityForType(typeOfField, capabilities));
            }
        }

        // And setter methods as well (aka Scala hack)
        for (Method method : methods) {
            // Try to get inject annotation. New: also turn on extended accessibility, so
            // elements don't have to be public anymore.
            method.setAccessible(true);
            final InjectPlugin ipannotation = method.getAnnotation(InjectPlugin.class);

            if (ipannotation != null) {

                // Obtain capabilities
                final String[] capabilities = ipannotation.requiredCapabilities();

                // Handle the plugin-parameter part
                // In the default case do an auto-detection ...
                final Class<? extends Plugin> typeOfMethod = (Class<? extends Plugin>) method.getParameterTypes()[0];
View Full Code Here

Examples of net.xeoh.plugins.base.annotations.injections.InjectPlugin

        // Process every field
        for (final Field field : fields) {
            field.setAccessible(true);
           
            final InjectPlugin ipannotation = field.getAnnotation(InjectPlugin.class);
            if (ipannotation == null) continue;
            if (ipannotation.isOptional()) continue;

            final Dependency d = new Dependency();
            d.capabilites = ipannotation.requiredCapabilities();
            d.pluginClass = (Class<? extends Plugin>) getTrueDependencyInterfaceType(field.getType());
            d.isOptional = ipannotation.isOptional();

            rval.add(d);
        }
       
        // And setter methods as well (aka Scala hack)
        for (Method method : methods) {
            method.setAccessible(true);
           
            final InjectPlugin ipannotation = method.getAnnotation(InjectPlugin.class);
            if (ipannotation == null) continue;
            if (ipannotation.isOptional()) continue;


            final Dependency d = new Dependency();
            d.capabilites = ipannotation.requiredCapabilities();
            d.pluginClass = (Class<? extends Plugin>) getTrueDependencyInterfaceType(method.getParameterTypes()[0]);
            d.isOptional = ipannotation.isOptional();

            rval.add(d);
        }       

        return rval;
View Full Code Here

Examples of net.xeoh.plugins.base.annotations.injections.InjectPlugin

        // Process every field
        for (final Field field : fields) {

            // Try to get inject annotation
            final InjectPlugin ipannotation = field.getAnnotation(InjectPlugin.class);

            // If there is one ..
            if (ipannotation != null) {

                // Obtain capabilities
                final String[] capabilities = ipannotation.requiredCapabilities();

                // Handle the plugin-parameter part
                // In the default case do an auto-detection ...
                final Class<? extends Plugin> typeOfField = (Class<? extends Plugin>) field.getType();

                this.logger.fine("Injecting plugin by autodetection (" + typeOfField.getName() + ") into " + spawnedPlugin.getClass().getName());

                field.set(spawnedPlugin, this.pluginManagerImpl.getPlugin(typeOfField, new OptionCapabilities(capabilities)));
            }
        }

        // And setter methods as well (aka Scala hack)
        for (Method method : methods) {

            final InjectPlugin ipannotation = method.getAnnotation(InjectPlugin.class);

            if (ipannotation != null) {

                // Obtain capabilities
                final String[] capabilities = ipannotation.requiredCapabilities();

                // Handle the plugin-parameter part
                // In the default case do an auto-detection ...
                final Class<? extends Plugin> typeOfMethod = (Class<? extends Plugin>) method.getParameterTypes()[0];
View Full Code Here

Examples of net.xeoh.plugins.base.annotations.injections.InjectPlugin

        // Process every field
        for (final Field field : fields) {

            // Try to get inject annotation
            final InjectPlugin ipannotation = field.getAnnotation(InjectPlugin.class);

            // If there is one ..
            if (ipannotation == null) continue;

            // Don't recognize optional fields as dependencies.
            if (ipannotation.isOptional()) continue;

            // Obtain capabilities                        

            final Dependency d = new Dependency();
            d.capabilites = ipannotation.requiredCapabilities();
            d.pluginClass = (Class<? extends Plugin>) field.getType();
            d.isOptional = ipannotation.isOptional();

            rval.add(d);
        }

        return rval;
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.