ChoiceConfigParameter.java
上传用户:huihesys
上传日期:2007-01-04
资源大小:3877k
文件大小:2k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /* $Id: ChoiceConfigParameter.java,v 1.3 2000/04/06 08:02:01 wastl Exp $ */
  2. package net.wastl.webmail.config;
  3. import java.util.*;
  4. /*
  5.  * ChoiceConfigParameter.java
  6.  *
  7.  * Created: Sep 1999
  8.  *
  9.  * Copyright (C) 1999-2000 Sebastian Schaffert
  10.  * 
  11.  * This program is free software; you can redistribute it and/or
  12.  * modify it under the terms of the GNU General Public License
  13.  * as published by the Free Software Foundation; either version 2
  14.  * of the License, or (at your option) any later version.
  15.  * 
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  * GNU General Public License for more details.
  20.  * 
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  24.  */
  25. /**
  26.  * Scheme of a parameter that can take one of several choices as value
  27.  */
  28. public class ChoiceConfigParameter extends ConfigParameter {
  29.     
  30.     Hashtable possible_values;
  31.     
  32.     public ChoiceConfigParameter(String name, String desc) {
  33. super(name, null, desc);
  34. possible_values=new Hashtable();
  35.     }
  36.     
  37.     public void addChoice(Object choice, String desc) {
  38. /* First is default */
  39. if(possible_values.isEmpty()) {
  40.     def_value=choice;
  41. }
  42. possible_values.put(choice,desc);
  43.     }
  44.     
  45.     public void removeChoice(Object choice) {
  46. possible_values.remove(choice);
  47.     }
  48.     
  49.     public Enumeration choices() {
  50. return possible_values.keys();
  51.     }
  52.     public String getDescription(String choice) {
  53. return (String)possible_values.get(choice);
  54.     }
  55.     public boolean isPossibleValue(Object value) {
  56. Enumeration e=possible_values.keys();
  57. boolean flag=false;
  58. while(e.hasMoreElements()) {
  59.     Object o=e.nextElement();
  60.     if(value.equals(o)) {
  61. flag=true;
  62. break;
  63.     }
  64.     //System.err.println((String)value + " <> " + (String)o);
  65. }
  66. return flag;
  67.     }
  68.     public String getType() {
  69. return "choice";
  70.     }
  71. }