@Override public boolean isEnabled(Feature feature) { return getEnabledFeatures().contains(feature); }
public Collection<Feature> getEnabledFeatures() { if (enabledFeatures == null && parent != null) return parent.getEnabledFeatures(); Set<Feature> set = new HashSet<Feature>(); if (parent != null) set.addAll(parent.getEnabledFeatures()); set.addAll(enabledFeatures); return set; }
@Override public boolean isEnabled(Class<? extends Feature> featureClass) { Collection<Feature> enabled = getEnabledFeatures(); //logger.info("isEnabled(Class): " + featureClass.getName() + " # enabled: " + enabled.size()); if (enabled == null) return false; for (Feature feature : enabled) { //logger.info(" looking at: " + feature.getClass()); if (featureClass.equals(feature.getClass())) { //logger.info(" found: " + featureClass.getName()); return true; } } //logger.info("not enabled class: " + featureClass.getName()); return false; }
enabledFeatures = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getEnabledFeatures()); properties = parent == null ? new ConcurrentHashMap<>() : new ConcurrentHashMap<>(parent.getProperties()); providerClasses = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderClasses());
@Override public boolean isEnabled(Feature feature) { return getEnabledFeatures().contains(feature); }
public Collection<Feature> getEnabledFeatures() { if (enabledFeatures == null && parent != null) return parent.getEnabledFeatures(); Set<Feature> set = new HashSet<Feature>(); if (parent != null) set.addAll(parent.getEnabledFeatures()); set.addAll(enabledFeatures); return set; }
@Override public boolean isEnabled(Class<? extends Feature> featureClass) { Collection<Feature> enabled = getEnabledFeatures(); //logger.info("isEnabled(Class): " + featureClass.getName() + " # enabled: " + enabled.size()); if (enabled == null) return false; for (Feature feature : enabled) { //logger.info(" looking at: " + feature.getClass()); if (featureClass.equals(feature.getClass())) { //logger.info(" found: " + featureClass.getName()); return true; } } //logger.info("not enabled class: " + featureClass.getName()); return false; }
enabledFeatures = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getEnabledFeatures()); properties = parent == null ? new ConcurrentHashMap<>() : new ConcurrentHashMap<>(parent.getProperties()); providerClasses = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderClasses());