package org.eclipse.emf.example.library.auth.client;
import org.eclipse.emf.example.library.auth.common.IAuthService;
import org.eclipse.emf.examples.library.databinding.core.ILoginService;
import org.eclipse.riena.core.injector.Inject;
import org.eclipse.ui.services.AbstractServiceFactory;
import org.eclipse.ui.services.IServiceLocator;
public class LoginServiceFactory extends AbstractServiceFactory {
private ILoginService loginService;
@SuppressWarnings("unchecked")
@Override
public Object create(Class serviceInterface, IServiceLocator parentLocator,
IServiceLocator locator) {
if( serviceInterface == ILoginService.class ) {
if( loginService == null ) {
loginService = new AuthServiceHandler();
Inject.service(IAuthService.class).into(loginService).andStart(Activator.getDefault().getBundleContext());
}
return loginService;
}
return null;
}
}