コード例 #1
0
  private static UserPreferences readPreferences(Preferences settings, boolean defaultsToDisabled) {
    boolean atLeastOneEnabled = false;
    UserPreferences prefs = UserPreferences.createDefaultUserPreferences();
    DetectorFactoryCollection dfc = DetectorFactoryCollection.instance();

    for (DetectorFactory df : dfc.getFactories()) {
      boolean enable = false;

      if (!df.isHidden()) {
        for (BugPattern bp : df.getReportedBugPatterns()) {
          BugCategory c = dfc.getBugCategory(bp.getCategory());

          if (c.isHidden()) continue;

          enable |=
              settings.getBoolean(bp.getType(), !defaultsToDisabled && prefs.isDetectorEnabled(df));
        }
      }

      atLeastOneEnabled |= enable;
      prefs.enableDetector(df, enable);
    }

    return atLeastOneEnabled ? prefs : null;
  }