001    //$HeadURL$
002    /*----------------    FILE HEADER  ------------------------------------------
003     This file is part of deegree.
004     Copyright (C) 2001-2008 by:
005     Department of Geography, University of Bonn
006     http://www.giub.uni-bonn.de/deegree/
007     lat/lon GmbH
008     http://www.lat-lon.de
009    
010     This library is free software; you can redistribute it and/or
011     modify it under the terms of the GNU Lesser General Public
012     License as published by the Free Software Foundation; either
013     version 2.1 of the License, or (at your option) any later version.
014     This library is distributed in the hope that it will be useful,
015     but WITHOUT ANY WARRANTY; without even the implied warranty of
016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017     Lesser General Public License for more details.
018     You should have received a copy of the GNU Lesser General Public
019     License along with this library; if not, write to the Free Software
020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021     Contact:
022    
023     Andreas Poth
024     lat/lon GmbH
025     Aennchenstr. 19
026     53177 Bonn
027     Germany
028     E-Mail: poth@lat-lon.de
029    
030     Prof. Dr. Klaus Greve
031     Department of Geography
032     University of Bonn
033     Meckenheimer Allee 166
034     53115 Bonn
035     Germany
036     E-Mail: greve@giub.uni-bonn.de
037     ---------------------------------------------------------------------------*/
038    package org.deegree.security;
039    
040    import java.util.List;
041    
042    /**
043     * 
044     * 
045     * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
046     * @author last edited by: $Author: poth $
047     * 
048     * @version. $Revision: 6251 $, $Date: 2007-03-19 16:59:28 +0100 (Mo, 19 Mrz 2007) $
049     */
050    public class Authentications {
051    
052        private List<AbstractAuthentication> authentications;
053    
054        /**
055         * 
056         * @param authentications
057         */
058        public Authentications( List<AbstractAuthentication> authentications ) {
059            this.authentications = authentications;
060        }
061    
062        /**
063         * returns all available authentication classes in the same order as they has been defined
064         * 
065         * @return all available authentication classes in the same order as they has been defined
066         */
067        public List<AbstractAuthentication> getAuthenticationsAsOrderedList() {
068            return authentications;
069        }
070    
071        /**
072         * returns a authentication class identified by the name of the used authetication method. If no
073         * authentication class assigned to the passed name can be found <code>null</code> will be
074         * returned.
075         * 
076         * @param name
077         * @return a authentication class identified by the name of the used authetication method
078         */
079        public AbstractAuthentication getAuthenticationForName( String name ) {
080            for ( AbstractAuthentication authentication : authentications ) {
081                if ( authentication.getAuthenticationName().equals( name ) ) {
082                    return authentication;
083                }
084            }
085            return null;
086        }
087    
088    }