/* * Jicofo, the Jitsi Conference Focus. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jitsi.jicofo.auth; import net.java.sip.communicator.util.*; import java.util.*; import java.util.concurrent.*; /** * Common class for {@link AuthenticationAuthority} implementations. * * @author Pawel Domas */ public abstract class AbstractAuthAuthority implements AuthenticationAuthority { /** * The logger. */ private final static Logger logger = Logger.getLogger(AbstractAuthAuthority.class); /** * The list of registered {@link AuthenticationListener}s. */ private List<AuthenticationListener> authenticationListeners = new CopyOnWriteArrayList<AuthenticationListener>(); /** * Registers to the list of <tt>AuthenticationListener</tt>s. * @param l the <tt>AuthenticationListener</tt> to be added to listeners * list. */ @Override public void addAuthenticationListener(AuthenticationListener l) { if (!authenticationListeners.contains(l)) { authenticationListeners.add(l); } } /** * Unregisters from the list of <tt>AuthenticationListener</tt>s. * @param l the <tt>AuthenticationListener</tt> that will be removed from * authentication listeners list. */ @Override public void removeAuthenticationListener(AuthenticationListener l) { authenticationListeners.remove(l); } protected void notifyUserAuthenticated(String userJid, String identity) { logger.info("Jid " + userJid + " authenticated as: " + identity); for (AuthenticationListener l : authenticationListeners) { l.jidAuthenticated(userJid, identity); } } }