1 24 package org.riotfamily.common.beans.propertyeditors; 25 26 import java.beans.PropertyEditorSupport ; 27 28 import org.springframework.util.StringUtils; 29 30 public class BooleanEditor extends PropertyEditorSupport { 31 32 public static final String VALUE_TRUE = "true"; 33 34 public static final String VALUE_FALSE = "false"; 35 36 private Boolean defaultValue; 37 38 public BooleanEditor() { 39 this(Boolean.FALSE); 40 } 41 42 public BooleanEditor(boolean defaultValue) { 43 this(Boolean.valueOf(defaultValue)); 44 } 45 46 public BooleanEditor(Boolean defaultValue) { 47 this.defaultValue = defaultValue; 48 } 49 50 public void setDefaultValue(Boolean defaultValue) { 51 this.defaultValue = defaultValue; 52 } 53 54 public void setAsText(String text) throws IllegalArgumentException { 55 if (!StringUtils.hasText(text)) { 56 setValue(defaultValue); 57 } 58 else if (VALUE_TRUE.equalsIgnoreCase(text)) { 59 setValue(Boolean.TRUE); 60 } 61 else if (VALUE_FALSE.equalsIgnoreCase(text)) { 62 setValue(Boolean.FALSE); 63 } 64 else { 65 throw new IllegalArgumentException ( 66 "Invalid boolean value [" + text + "]"); 67 } 68 } 69 70 public String getAsText() { 71 if (Boolean.TRUE.equals(getValue())) { 72 return VALUE_TRUE; 73 } 74 else if (Boolean.FALSE.equals(getValue())) { 75 return VALUE_FALSE; 76 } 77 else { 78 return ""; 79 } 80 } 81 82 } 83 | Popular Tags |