package net.sf.gazpachoquest.security.impl;
import java.util.HashMap;
import java.util.Map;
import net.sf.gazpachoquest.security.AccountType;
import net.sf.gazpachoquest.security.AuthenticationManager;
import net.sf.gazpachoquest.security.AuthenticationManagerFactory;
public class AuthenticationManagerFactoryImpl implements AuthenticationManagerFactory {
private Map<String, AuthenticationManager> implementations;
public Map<String, AuthenticationManager> getImplementations() {
if (implementations == null) {
implementations = new HashMap<String, AuthenticationManager>();
}
return implementations;
}
@Override
public AuthenticationManager getObject(final AccountType type) {
AuthenticationManager impl = getImplementations().get(type.toString());
if (impl == null) {
throw new IllegalStateException("There is no implementation for type = " + type);
}
return impl;
}
public void setImplementations(final Map<String, AuthenticationManager> loginServiceImplementations) {
implementations = loginServiceImplementations;
}
}