1 package org.apache.slide.projector.descriptor; 2 3 import org.apache.slide.projector.Context; 4 import org.apache.slide.projector.i18n.ErrorMessage; 5 import org.apache.slide.projector.value.BooleanValue; 6 import org.apache.slide.projector.value.Value; 7 8 public class BooleanValueDescriptor implements ValueDescriptor { 9 public final static String TRUE = Boolean.toString(true); 10 public final static String FALSE = Boolean.toString(false); 11 12 public Value valueOf(Object value, Context context) throws ValueCastException { 13 if ( value instanceof BooleanValue ) { 14 return (BooleanValue)value; 15 } 16 try { 17 return getBooleanResource(StringValueDescriptor.ANY.valueOf(value, null).toString()); 18 } catch ( ValueCastException exception ) { 19 throw new ValueCastException(new ErrorMessage("uncastableBooleanValue", new Object [] { value })); 20 } 21 } 22 23 public void validate(Value value, Context context) throws ValidationException { 24 } 25 26 public static BooleanValue getBooleanResource(String value) { 27 if ( value != null && value.equals(TRUE) ) { 28 return BooleanValue.TRUE; 29 } else { 30 return BooleanValue.FALSE; 31 } 32 } 33 } | Popular Tags |