class ClientTime extends ClientLiteral<Time, ClientTime> {

    @Override
    public String toString() {
        String valueString;
        Time value = getValue();
        try {
            valueString = (value != null) ? FORMATTER.format(value) : ClientExpressions.MISSING_REPRESENTATION;
        } catch (IllegalArgumentException e) {
            valueString = ClientExpressions.MISSING_REPRESENTATION;
        }
        // DomEL format removes milliseconds from time if they are all zero
        String zeroMilliseconds = "(\\.0+)$";
        if (valueString.contains(".") && Pattern.matches("[\\d\\s:]*" + zeroMilliseconds, valueString)) {
            valueString = valueString.substring(0, valueString.indexOf("."));
        }
        return "t'" + valueString + "'";
    }

    public  ClientTime();
    public  ClientTime(Time time);
    public  ClientTime(ClientTime source);

}