org.chromium.sdk/src/org/chromium/sdk/internal/protocolparser/EnumValueCondition.java
changeset 2 e4420d2515f1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org.chromium.sdk/src/org/chromium/sdk/internal/protocolparser/EnumValueCondition.java	Wed Dec 23 17:13:18 2009 -0800
@@ -0,0 +1,23 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.sdk.internal.protocolparser;
+
+import java.util.Set;
+
+/**
+ * Implementation of {@link JsonValueCondition} for enum-typed values.
+ * User is supposed to subclass it and specify allowed enum constants in constructor.
+ * @param <T> type of value
+ */
+public abstract class EnumValueCondition<T extends Enum<T>> implements JsonValueCondition<T> {
+  private final Set<T> allowedValues;
+  protected EnumValueCondition(Set<T> allowedValues) {
+    this.allowedValues = allowedValues;
+  }
+
+  public boolean conforms(T value) {
+    return allowedValues.contains(value);
+  }
+}