TagConstraint.java

  1. package com.birbit.android.jobqueue;

  2. import java.util.Collection;
  3. import java.util.Set;

  4. public enum TagConstraint {
  5.     ALL,
  6.     ANY;
  7.     public boolean matches(String[] constraintTags, Set<String> jobTags) {
  8.         if (this == TagConstraint.ANY) {
  9.             for (String tag : constraintTags) {
  10.                 if (jobTags.contains(tag)) {
  11.                     return true;
  12.                 }
  13.             }
  14.             return false;
  15.         } else {
  16.             for (String tag : constraintTags) {
  17.                 if (!jobTags.contains(tag)) {
  18.                     return false;
  19.                 }
  20.             }
  21.             return true;
  22.         }
  23.     }

  24.     public boolean matches(Collection<String> constraintTags, Set<String> jobTags) {
  25.         if (this == TagConstraint.ANY) {
  26.             for (String tag : constraintTags) {
  27.                 if (jobTags.contains(tag)) {
  28.                     return true;
  29.                 }
  30.             }
  31.             return false;
  32.         } else {
  33.             for (String tag : constraintTags) {
  34.                 if (!jobTags.contains(tag)) {
  35.                     return false;
  36.                 }
  37.             }
  38.             return true;
  39.         }
  40.     }
  41. }