001package de.cuioss.test.jsf.mocks; 002 003import static java.util.Objects.requireNonNull; 004 005import javax.faces.component.UIComponent; 006import javax.faces.context.FacesContext; 007import javax.faces.convert.Converter; 008import javax.faces.convert.FacesConverter; 009 010/** 011 * For testing converter 012 * 013 * @author Matthias Walliczek 014 */ 015@FacesConverter(ReverseConverter.CONVERTER_ID) 016public class ReverseConverter implements Converter<String> { 017 018 /** 019 * <p> 020 * The standard converter id for this converter. 021 * </p> 022 */ 023 public static final String CONVERTER_ID = "de.cuioss.test.jsf.mocks.ReserveConverter"; 024 025 @Override 026 public String getAsObject(final FacesContext context, final UIComponent component, final String value) { 027 return reverse(context, component, value); 028 } 029 030 @Override 031 public String getAsString(final FacesContext context, final UIComponent component, final String value) { 032 return reverse(context, component, value); 033 } 034 035 private String reverse(final FacesContext context, final UIComponent component, final String value) { 036 requireNonNull(component); 037 requireNonNull(context); 038 if (null == value) { 039 return ""; 040 } 041 return new StringBuilder(value).reverse().toString(); 042 } 043 044}