View Javadoc

1   /***
2    * Copyright (c) 2003 held jointly by the individual authors.            
3    *                                                                          
4    * This library is free software; you can redistribute it and/or modify it    
5    * under the terms of the GNU Lesser General Public License as published      
6    * by the Free Software Foundation; either version 2.1 of the License, or 
7    * (at your option) any later version.                                            
8    *                                                                            
9    * This library is distributed in the hope that it will be useful, but 
10   * WITHOUT ANY WARRANTY; with out even the implied warranty of 
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
12   * GNU Lesser General Public License for more details.                                                  
13   *                                                                           
14   * You should have received a copy of the GNU Lesser General Public License   
15   * along with this library;  if not, write to the Free Software Foundation,   
16   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.              
17   *                                                                            
18   * > http://www.gnu.org/copyleft/lesser.html                                  
19   * > http://www.opensource.org/licenses/lgpl-license.php
20   */
21  package net.mlw.vlh.swing.support.filter;
22  
23  import javax.swing.ButtonGroup;
24  
25  import net.mlw.vlh.Errors;
26  
27  /***
28   * @author Matthew L. Wilson
29   * @version $Revision: 1.3 $ $Date: 2006/05/04 15:30:43 $
30   */
31  public class ButtonGroupFilterRetriever extends AbstractFilterRetriever
32  {
33     private ButtonGroup group;
34  
35     private String convertToNullValue;
36  
37     /***
38      * @param key
39      */
40     public ButtonGroupFilterRetriever(String key, ButtonGroup group)
41     {
42        super(key);
43        this.group = group;
44     }
45  
46     /***
47      * @param key
48      */
49     public ButtonGroupFilterRetriever(String key, ButtonGroup group, String convertToNullValue)
50     {
51        super(key);
52        this.group = group;
53        this.convertToNullValue = convertToNullValue;
54     }
55  
56     /***
57      * @see net.mlw.vlh.swing.FilterRetriever#getFilterValue()
58      */
59     public Object getFilterValue(Errors errors)
60     {
61        String value = group.getSelection().getActionCommand();
62        return (convertToNullValue == null) ? value : (convertToNullValue.equals(value)) ? "" : value;
63     }
64  
65     public Object reset()
66     {
67        group.setSelected(group.getSelection(), false);
68  //      for (Enumeration buttons = group.getElements(); buttons.hasMoreElements();)
69  //      {
70  //         AbstractButton button = (AbstractButton) buttons.nextElement();
71  //         button.setSelected(false);
72  //      }
73  
74        return group;
75     }
76  }