package org.ovirt.engine.ui.common.widget.renderer;
import java.util.Date;
import org.ovirt.engine.ui.common.CommonApplicationConstants;
import org.ovirt.engine.ui.common.gin.AssetProvider;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.text.shared.AbstractRenderer;
/**
* Standard renderer for Date values in oVirt.
* TODO: rename OvirtDateTimeRenderer
*/
public class FullDateTimeRenderer extends AbstractRenderer<Date> {
private static final CommonApplicationConstants constants = AssetProvider.getConstants();
private DateTimeFormat formatPattern = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_TIME_MEDIUM);
/**
* Create a new FullDateTimeRenderer with a default pattern of 'yyyy-MMM-dddd HH:mm'.
* (Uses only 'MM' for month is locale is set to Japanese.)
*/
public FullDateTimeRenderer() {
this(true);
}
/**
* Create a new FullDateTimeRenderer with a default pattern of 'yyyy-MMM-dddd'.
* (Uses only 'MM' for month is locale is set to Japanese.) Pass 'true' for includeTime if
* you want to include the hours and minutes in the date ('yyyy-MMM-dddd HH:mm').
* Pass 'true' for includeSeconds ('yyyy-MMM-dddd HH:mm:ss') if you want the seconds in the
* date as well.
*/
public FullDateTimeRenderer(boolean includeTime) {
DateTimeFormat newFormat = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_MEDIUM);
if (includeTime) {
newFormat = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_TIME_MEDIUM);
}
formatPattern = newFormat;
}
@Override
public String render(Date object) {
if(object == null){
return constants.notAvailableLabel();
}
return formatPattern.format(object);
}
}