All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.spincast.plugins.openapi.bottomup.SpincastOpenApiBottomUpPluginModule Maven / Gradle / Ivy

package org.spincast.plugins.openapi.bottomup;

import org.spincast.core.exchange.RequestContext;
import org.spincast.core.guice.SpincastGuiceModuleBase;
import org.spincast.core.websocket.WebsocketContext;
import org.spincast.plugins.openapi.bottomup.config.SpincastOpenApiBottomUpPluginConfig;
import org.spincast.plugins.openapi.bottomup.config.SpincastOpenApiBottomUpPluginConfigDefault;
import org.spincast.plugins.openapi.bottomup.utils.SwaggerAnnotationsCreator;
import org.spincast.plugins.openapi.bottomup.utils.SwaggerAnnotationsCreatorDefault;

import com.google.inject.Scopes;

/**
 * Spincast Open API BottomUp plugin module.
 */
public class SpincastOpenApiBottomUpPluginModule extends SpincastGuiceModuleBase {

    public SpincastOpenApiBottomUpPluginModule() {
        super();
    }

    public SpincastOpenApiBottomUpPluginModule(Class> requestContextImplementationClass,
                                               Class> websocketContextImplementationClass) {
        super(requestContextImplementationClass, websocketContextImplementationClass);
    }

    @Override
    protected void configure() {

        bind(parameterizeWithContextInterfaces(getSpincastOpenApiManagerImpl())).in(Scopes.SINGLETON);
        bind(SpincastOpenApiManager.class).to(parameterizeWithContextInterfaces(getSpincastOpenApiManagerImpl()))
                                          .in(Scopes.SINGLETON);
        bind(SpincastOpenApiBottomUpPluginConfig.class).to(getSpincastOpenApiBottomUpPluginConfigImpl()).in(Scopes.SINGLETON);
        bind(SwaggerAnnotationsCreator.class).to(getSwaggerAnnotationsCreatorImpl()).in(Scopes.SINGLETON);
    }

    protected Class getSpincastOpenApiManagerImpl() {
        return SpincastOpenApiManagerDefault.class;
    }

    protected Class getSpincastOpenApiBottomUpPluginConfigImpl() {
        return SpincastOpenApiBottomUpPluginConfigDefault.class;
    }

    protected Class getSwaggerAnnotationsCreatorImpl() {
        return SwaggerAnnotationsCreatorDefault.class;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy