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

org.appops.service.injection.ServiceSlimServletModule Maven / Gradle / Ivy

/*
 * AppOps is a Java framework to develop, deploy microservices with ease and is available for free
 * and common use developed by AinoSoft ( www.ainosoft.com )
 *
 * AppOps and AinoSoft are registered trademarks of Aino Softwares private limited, India.
 *
 * Copyright (C) <2016> 
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version along with applicable additional terms as
 * provisioned by GPL 3.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License and applicable additional terms
 * along with this program.
 *
 * If not, see  and 
 */

package org.appops.service.injection;

import com.google.inject.Provider;
import java.lang.reflect.Proxy;
import org.appops.slim.base.invocation.ApiProxyInvocationHandler;

/**
 * 

* Abstract ServiceSlimServletModule class. *

* * @author deba * @version $Id: $Id */ public abstract class ServiceSlimServletModule extends BaseServletModule { private ApiProxyInvocationHandler proxyInvocationHandler = new ApiProxyInvocationHandler(); /** *

* configureModule. *

*/ public abstract void configureModule(); /** {@inheritDoc} */ @Override protected void configureServlets() { requestInjection(proxyInvocationHandler); super.configureServlets(); } /** *

* bindServiceApi. *

* * @param apiClass a {@link java.lang.Class} object. * @param a T object. */ protected void bindServiceApi(Class apiClass) { bind(apiClass).toProvider(new Provider() { @Override public T get() { return (T) Proxy.newProxyInstance(apiClass.getClassLoader(), new Class[] {apiClass}, proxyInvocationHandler); } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy