|
public class UIInputDate extends UIInput {
public static final String COMPONENT_FAMILY = "to.msn.wings.jsf.custom.input";
public static final String COMPONENT_TYPE = "to.wings.msn.jsf.custom.UIInputDate";
public String getFamily() {
return COMPONENT_FAMILY;
}
public void restoreState(FacesContext context, Object state) {
Object[] objValues = (Object[])state;
super.restoreState( context, objValues[0] );
}
public Object saveState(FacesContext context) {
Object objValues[] = new Object[1];
objValues[0] = super.saveState(context);
return objValues;
}
protected Object getConvertedValue(FacesContext context,Object submittedValue) {
Map submittedMap = (Map)submittedValue;
String year = (String)submittedMap.get ( InputDateRenderer.YEAR_SUFFIX );
String month = (String)submittedMap.get ( InputDateRenderer.MONTH_SUFFIX );
String day = (String)submittedMap.get ( InputDateRenderer.DAY_SUFFIX );
Calendar cal = Calendar.getInstance ( context.getViewRoot().getLocale() );
cal.clear();
try {
cal.set(Integer.parseInt(year) , Integer.parseInt(month) - 1 , Integer.parseInt(day ));
} catch (Exception e) {
FacesMessage facesMessage = new FacesMessage ( "正しい日付を入力して下さい。" );
context.addMessage(getClientId(context), facesMessage);
setValid(false);
return submittedValue;
}
return cal;
}
}
|
|