ConfigAdmin.java |
/* PCS - A Framework For Java Web Applications Copyright (C) 2002 Patrick Carl, patrick.carl@web.de This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA $Id: ConfigAdmin.java,v 1.1.1.1 2002/12/27 23:49:43 pcs_org Exp $ */ package de.spieleck.pcs.conf; import java.util.Vector; import java.util.Iterator; /** * This class manages ConfigUsers and acts as a Observer to ConfigUsers. It * is implemented as a Singleton.<br> * By calling resetConfig on every registered ConfigUser resetConfig is * called. * @author Patrick Carl */ public class ConfigAdmin { private static Vector surveyors; private static ConfigAdmin me; /** Creates a new instance of ConfigAdmin */ protected ConfigAdmin() { surveyors = new Vector(); } /** * returns an instance of ConfigAdmin, used for implementing the Singleton pattern * @return an instance of ConfigAdmin */ public static ConfigAdmin getInstance() { if(me == null) me = new ConfigAdmin(); return me; } /** * registers a ConfigUser to the ConfigAdmin * @param user the ConfigUser to register */ public void addConfigUser(ConfigUser user) { if(!surveyors.contains(user)) surveyors.add(user); } /** * unregisters a ConfigUser from the ConfigAdmin * @param user the ConfigUser to unregister */ public void removeConfigUser(ConfigUser user) { surveyors.remove(user); } /** * resets the configuration of all registered ConfigUsers */ public int resetConfig() { Iterator it = surveyors.iterator(); Object o; while(it.hasNext()) { o = it.next(); if(o != null) ((ConfigUser)o).resetConfig(); } return surveyors.size(); } public String[] getConfigUserNames(){ Iterator it = surveyors.iterator(); String[] ret = new String[surveyors.size()]; int i = 0; while(it.hasNext()){ ret[i++] = it.next().getClass().getName(); } return ret; } }
ConfigAdmin.java |