Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Sisu/Techniques

< Sisu
Revision as of 22:00, 7 February 2014 by Mcculls.gmail.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

How to add specific bindings to the basic Sisu example

Here is an expanded version of the 'getting started' tutorial that adds an additional module to publish some scalar parameters.

public static BusBootstrap Main(final String[] cliArguments, final String configFilePathname) {
        ClassLoader classloader = BusBootstrap.class.getClassLoader();

        AbstractModule parameterModule = new AbstractModule()
        {
            @Override
            protected void configure()
            {
                // Add EDSL binding calls here.
            }

            @Provides
            @Parameters
            String[] cliArguments()
            {
                return cliArguments;
            }

            @Provides
            WsBusConfig config() {
                return new WsBusConfig(configFilePathname);
            }
        };

        Injector injector = Guice.createInjector(
                
                new WireModule(// auto-wires unresolved dependencies
                        parameterModule,
                        new SpaceModule(// scans and binds @Named components
                                new URLClassSpace(classloader)    // abstracts class/resource finding
                        )));

        return injector.getInstance(BusBootstrap.class);
    }

Back to the top