package tc.oc.pgm.timelimit;
import java.time.Duration;
import tc.oc.pgm.features.FeatureDefinition;
import tc.oc.pgm.victory.MatchResult;
import static com.google.common.base.Preconditions.checkNotNull;
/**
* A time limit defined in XML, immutable and created at parse time.
*
* @see TimeLimit
* @see TimeLimitCountdown
*/
public class TimeLimitDefinition extends FeatureDefinition.Impl implements FeatureDefinition {
private final @Inspect Duration duration;
private final @Inspect MatchResult result;
private final @Inspect boolean show;
public TimeLimitDefinition(Duration duration, MatchResult result, boolean show) {
this.duration = checkNotNull(duration);
this.result = checkNotNull(result);
this.show = show;
}
public Duration duration() {
return duration;
}
public MatchResult result() {
return result;
}
public boolean show() {
return show;
}
}