1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.struts.flow.core.source.impl.validity;
18
19 import org.apache.struts.flow.core.source.SourceValidity;
20
21 /***
22 * A validation object that holds an expiration date.
23 * When the defined time/date has arrived, this validity object is
24 * not valid any more.
25 *
26 * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
27 * @version CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:17 $
28 */
29 public final class ExpiresValidity
30 implements SourceValidity
31 {
32 private long expires;
33
34 /***
35 * Constructor
36 * @param expires The delta from now when this validity object gets invalid.
37 */
38 public ExpiresValidity( long expires )
39 {
40 this.expires = System.currentTimeMillis() + expires;
41 }
42
43 /***
44 * Checks if the expires date is already reached.
45 *
46 * @see org.apache.struts.flow.core.source.SourceValidity#isValid()
47 */
48 public int isValid()
49 {
50 final long currentTime = System.currentTimeMillis();
51 return (currentTime <= this.expires ? SourceValidity.VALID : SourceValidity.INVALID);
52 }
53
54 /***
55 * This method is never invoked as {@link #isValid()} can always perform
56 * the complete check.
57 *
58 * @see org.apache.struts.flow.core.source.SourceValidity#isValid(SourceValidity)
59 */
60 public int isValid( SourceValidity newValidity )
61 {
62 return SourceValidity.INVALID;
63 }
64
65 /***
66 *
67 * @see java.lang.Object#toString()
68 */
69 public String toString()
70 {
71 return "ExpiresValidity: " + expires;
72 }
73 }