/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package de.cismet.cids.editors.converters; import org.jdesktop.beansbinding.Converter; /** * DOCUMENT ME! * * @author thorsten * @version $Revision$, $Date$ */ public class BooleanToStringConverter extends Converter<Boolean, String> { //~ Instance fields -------------------------------------------------------- private final String yes; private final String no; private final String nul; //~ Constructors ----------------------------------------------------------- /** * Creates a new BooleanToStringConverter object. */ public BooleanToStringConverter() { this(Boolean.TRUE.toString(), Boolean.FALSE.toString(), null); } /** * Creates a new BooleanToStringConverter object. * * @param yes DOCUMENT ME! * @param no DOCUMENT ME! */ public BooleanToStringConverter(final String yes, final String no) { this(yes, no, null); } /** * Creates a new BooleanToStringConverter object. * * @param yes DOCUMENT ME! * @param no DOCUMENT ME! * @param nul DOCUMENT ME! */ public BooleanToStringConverter(final String yes, final String no, final String nul) { this.yes = yes; this.no = no; this.nul = nul; } //~ Methods ---------------------------------------------------------------- @Override public String convertForward(final Boolean value) { if (value == null) { return nul; } else { return value ? yes : no; } } @Override public Boolean convertReverse(final String value) { try { if ((value == null) || value.equals(nul)) { return null; } else if (value.equals(yes)) { return true; } else if (value.equals(no)) { return false; } else { return null; } } catch (final Exception e) { return null; } } }