BooleanConverterFactory.java
package org.cyclopsgroup.caff.conversion;
/**
* Converter factory for boolean conversion
*
* @author <a href="mailto:jiaqi@cyclopsgroup.org">Jiaqi Guo</a>
*/
public class BooleanConverterFactory implements ConverterFactory<Boolean> {
private static class BooleanConverter implements Converter<Boolean> {
private BooleanConverter(BooleanField field) {
this.field = field;
}
private final BooleanField field;
@Override
public Boolean fromCharacters(CharSequence text) {
return text.toString().equals(field.yes());
}
@Override
public CharSequence toCharacters(Boolean value) {
return value ? field.yes() : field.no();
}
}
@Override
public Converter<Boolean> getConverterFor(Class<Boolean> valueType, Object hint) {
return new BooleanConverter((BooleanField) hint);
}
}