001package org.kuali.common.util.condition;
002
003import java.util.Date;
004
005import com.google.common.base.Preconditions;
006
007public final class BeforeCondition implements Condition {
008
009        public BeforeCondition(Date date) {
010                this(date.getTime());
011        }
012
013        public BeforeCondition(long millis) {
014                Preconditions.checkArgument(millis >= 0, "'millis' must be >= 0");
015                this.millis = millis;
016        }
017
018        private final long millis;
019
020        @Override
021        public boolean isTrue() {
022                return System.currentTimeMillis() < millis;
023        }
024
025        public long getMillis() {
026                return millis;
027        }
028
029        public Date getDate() {
030                return new Date(millis);
031        }
032
033}