1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.expreval.expr.literal;
22
23 import org.apache.expreval.expr.node.DateValue;
24 import org.apache.expreval.expr.node.GenericValue;
25
26 import java.util.Date;
27
28 public class DateLiteral extends GenericLiteral<Long> implements DateValue {
29
30 private static long now = System.currentTimeMillis();
31
32 public DateLiteral(final Date dateval) {
33 super(dateval.getTime());
34 }
35
36 public DateLiteral(final Long value) {
37 super(value);
38 }
39
40 public static long getNow() {
41 return now;
42 }
43
44 public static void resetNow() {
45 now = System.currentTimeMillis();
46 }
47
48 protected Class<? extends GenericValue> getReturnType() {
49 return DateValue.class;
50 }
51
52 public String asString() {
53 return "\"" + String.format("%1$ta %1$tb %1$td %1$tT %1$tZ %1$tY", new Date(this.getValue(null, null))) + "\"";
54 }
55 }