Search in sources :

Example 1 with PlatformInjector

use of org.webpieces.router.api.PlatformInjector in project webpieces by deanhiller.

the class WebpiecesToAppBindingModule method configure.

@Override
public void configure(Binder binder) {
    // creates an empty binder in case app installs ZERO plugins
    Multibinder.newSetBinder(binder, Startable.class);
    Multibinder.newSetBinder(binder, EntityLookup.class);
    Multibinder.newSetBinder(binder, BodyContentBinder.class);
    Multibinder.newSetBinder(binder, ObjectStringConverter.class);
    Multibinder.newSetBinder(binder, HtmlTagCreator.class);
    // special case so the notFound controller can inspect and list all routes in a web page
    // OR some client application can inject and introspect all web routes as well
    // OR some plugin on startup can look at all routes as well
    // Also, special case so the backend plugin can accept route ids and reverse lookup the URL on them
    binder.bind(RoutingHolder.class).toInstance(routingHolder);
    // These next two bindings are specifically used by the properties plugin but could be used by any other plugins as well
    // special case exposing webpieces managed beans for modification to any plugin that wants to use it
    binder.bind(ManagedBeanMeta.class).toInstance(managedMeta);
    // special case exposing webpieces + application converters (object to string and string to object)
    // This is the lookup class for all those ObjectStringConverter that get installed in the above Multibinder
    // including if you put an object into a cookie as well, so it gets written as a String
    binder.bind(ObjectTranslator.class).toInstance(objectTranslator);
    binder.bind(ScheduledExecutorService.class).toInstance(scheduler);
    binder.bind(PlatformInjector.class).toInstance(new PlatformInjector(injector));
    binder.bind(MeterRegistry.class).toInstance(metrics);
}
Also used : ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) ObjectTranslator(org.webpieces.router.impl.params.ObjectTranslator) ManagedBeanMeta(org.webpieces.router.impl.mgmt.ManagedBeanMeta) PlatformInjector(org.webpieces.router.api.PlatformInjector) MeterRegistry(io.micrometer.core.instrument.MeterRegistry)

Aggregations

MeterRegistry (io.micrometer.core.instrument.MeterRegistry)1 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)1 PlatformInjector (org.webpieces.router.api.PlatformInjector)1 ManagedBeanMeta (org.webpieces.router.impl.mgmt.ManagedBeanMeta)1 ObjectTranslator (org.webpieces.router.impl.params.ObjectTranslator)1