package hoge;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

public class ZenkakuConverter implements Converter{
	
	public Object getAsObject(FacesContext context, UIComponent component, String value) {
		if(value != null){
			return toZenkaku(value);
		}
		return null;
	}

	public String getAsString(FacesContext context, UIComponent component, Object value) {
		return value.toString();
	}
	
	
	//[0-z]→[０-Ｚ]
	private String toZenkaku(String value){
		StringBuffer sb = new StringBuffer();
		for(int i=0; i<value.length(); i++){
			char c = value.charAt(i);
			if('0' <= c && c <= 'z'){
				c = (char)(c + '０' - '0');
			}
			sb.append(c);
		}
		return sb.toString();
	}
}

