From e14c92fc27c6f9c17e6dfc005012253a37683582 Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 11 Nov 2008 08:39:08 +0100 Subject: [PATCH] add Predicate.evaluate() method --- src/edu/berkeley/fleet/api/Predicate.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/edu/berkeley/fleet/api/Predicate.java b/src/edu/berkeley/fleet/api/Predicate.java index b5c22b3..4c42033 100644 --- a/src/edu/berkeley/fleet/api/Predicate.java +++ b/src/edu/berkeley/fleet/api/Predicate.java @@ -17,4 +17,21 @@ public enum Predicate { default: throw new Error("unknown predicate " + this); } } + + /** evaluates this predicate for a given set of flags and olc */ + public boolean evaluate(boolean flag_a, boolean flag_b, boolean flag_c, boolean olc_zero) { + switch(this) { + case Default: return !olc_zero; + case FlagA: return !olc_zero && flag_a; + case FlagB: return !olc_zero && flag_b; + case FlagC: return !olc_zero && flag_c; + case NotFlagA: return !olc_zero && !flag_a; + case NotFlagB: return !olc_zero && !flag_b; + case NotFlagC: return !olc_zero && !flag_c; + case IgnoreOLC: return true; + case OLCZero: return olc_zero; + default: throw new Error("unknown predicate " + this); + } + } + } -- 1.7.10.4