package fr.lteconsulting.hexa.client.common.hexadatedisplayformatfactory; import fr.lteconsulting.hexa.client.common.HexaDate; import fr.lteconsulting.hexa.client.common.HexaDateDisplayFormat; import fr.lteconsulting.hexa.client.common.text.NumberFormat; class HexaDateDisplayFormat2 implements HexaDateDisplayFormat { public String getName() { return "yyyy-mm-dd"; } private static NumberFormat yearFormatGwt; private static NumberFormat monthFormatGwt; private static NumberFormat dayFormatGwt; public String format( boolean fInvalid, int year, int month, int date ) { if( fInvalid ) return "-"; ensureGWTFormat(); return yearFormatGwt.format( year + 1900 ) + "-" + monthFormatGwt.format( month + 1 ) + "-" + dayFormatGwt.format( date ); } public HexaDate getHexaDateFromDisplayString( String string ) { try { return new HexaDate( string ); } catch( Exception e ) { return new HexaDate( "-" ); } } private void ensureGWTFormat() { if( yearFormatGwt == null ) yearFormatGwt = NumberFormat.getFormat( "0000" ); if( monthFormatGwt == null ) monthFormatGwt = NumberFormat.getFormat( "00" ); if( dayFormatGwt == null ) dayFormatGwt = NumberFormat.getFormat( "00" ); } }