package de.axone.function;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
public class Argument_Date implements Argument<Date> {
private static final SimpleDateFormat dateFormat
= new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz" );
private Date value;
@Override
public String toString() {
return value.toString();
}
public static SimpleDateFormat dateFormat(){
return (SimpleDateFormat)dateFormat.clone();
}
@Override
public void parse( String value ) throws ShellException {
this.value = stringToDate( value );
}
public static String dateToString( Date date ){
return dateFormat().format( date );
}
public static Date stringToDate( String string ) throws ShellException{
try {
return dateFormat().parse( string );
} catch( ParseException e ) {
throw new ArgumentParseException( string,
dateFormat().format( new Date() ), e );
}
}
@Override
@SuppressFBWarnings("EI_EXPOSE_REP")
public Date value() {
return value;
}
}