@Test public void testFeatures() { Features features = new Features(); assertFalse(features.isAvailable("A")); assertTrue(features.isAvailable("B")); }
public Features(ClassLoader classLoader) { features = new Properties(); try { Collection<URL> featureFiles = FileLookupFactory.newInstance().lookupFileLocations(FEATURES_FILE, classLoader); for (URL url : featureFiles) { try (InputStream is = url.openStream()) { features.load(is); } } if (log.isDebugEnabled()) { features.forEach((key, value) -> log.debugf("Feature %s=%s", key, value)); } } catch (IOException e) { log.debugf(e, "Error while attempting to obtain `%s` resources from the classpath", FEATURES_FILE); throw new CacheConfigurationException(e); } }
Features { public Features(ClassLoader classLoader) { features = new Properties(); try { Collection<URL> featureFiles = FileLookupFactory.newInstance().lookupFileLocations(FEATURES_FILE, classLoader); for (URL url : featureFiles) { try (InputStream is = url.openStream()) { features.load(is); } } if (log.isDebugEnabled()) { features.forEach((key, value) -> log.debugf("Feature %s=%s", key, value)); } } catch (IOException e) { log.debugf(e, "Error while attempting to obtain `%s` resources from the classpath", FEATURES_FILE); throw new CacheConfigurationException(e); } } }
Features { public Features(ClassLoader classLoader) { features = new Properties(); try { Collection<URL> featureFiles = FileLookupFactory.newInstance().lookupFileLocations(FEATURES_FILE, classLoader); for (URL url : featureFiles) { try (InputStream is = url.openStream()) { features.load(is); } } if (log.isDebugEnabled()) { features.forEach((key, value) -> log.debugf("Feature %s=%s", key, value)); } } catch (IOException e) { log.debugf(e, "Error while attempting to obtain `%s` resources from the classpath", FEATURES_FILE); throw new CacheConfigurationException(e); } } Features(ClassLoader classLoader);  Features(); }
Features { public Features(ClassLoader classLoader) { features = new Properties(); try { Collection<URL> featureFiles = FileLookupFactory.newInstance().lookupFileLocations(FEATURES_FILE, classLoader); for (URL url : featureFiles) { try (InputStream is = url.openStream()) { features.load(is); } } if (log.isDebugEnabled()) { features.forEach((key, value) -> log.debugf("Feature %s=%s", key, value)); } } catch (IOException e) { log.debugf(e, "Error while attempting to obtain `%s` resources from the classpath", FEATURES_FILE); throw new CacheConfigurationException(e); } } Features(ClassLoader classLoader);  Features(); boolean isAvailable(String featureName); }
Features { public Features(ClassLoader classLoader) { features = new Properties(); try { Collection<URL> featureFiles = FileLookupFactory.newInstance().lookupFileLocations(FEATURES_FILE, classLoader); for (URL url : featureFiles) { try (InputStream is = url.openStream()) { features.load(is); } } if (log.isDebugEnabled()) { features.forEach((key, value) -> log.debugf("Feature %s=%s", key, value)); } } catch (IOException e) { log.debugf(e, "Error while attempting to obtain `%s` resources from the classpath", FEATURES_FILE); throw new CacheConfigurationException(e); } } Features(ClassLoader classLoader);  Features(); boolean isAvailable(String featureName); static final String FEATURE_PREFIX; }