StarttlsTypeConverter implements IStringConverter<StarttlsType> { @Override public StarttlsType convert(String starttlsType) { starttlsType = starttlsType.toUpperCase(); try { switch (starttlsType) { case "FTP": { return StarttlsType.FTP; } case "IMAP": { return StarttlsType.IMAP; } case "POP3": { return StarttlsType.POP3; } case "SMTP": { return StarttlsType.SMTP; } } } catch (IllegalArgumentException e) { throw new ParameterException("String " + starttlsType + " cannot be converted to a StarttlsType."); } return StarttlsType.NONE; }  @Override StarttlsType convert(String starttlsType);  }
@Test public void testConvert() { assertTrue(StarttlsType.FTP == converter.convert("FTP")); assertTrue(StarttlsType.IMAP == converter.convert("IMAP")); assertTrue(StarttlsType.POP3 == converter.convert("POP3")); assertTrue(StarttlsType.SMTP == converter.convert("SMTP")); }