use of org.reflections.util.FilterBuilder in project sldeditor by robward-scisys.
the class RegisterClasses method registerTextBackground.
/**
* Register text background converters.
*
* @param classLoadersList the class loaders list
* @param data the data
*/
private static void registerTextBackground(List<ClassLoader> classLoadersList, ConversionData data) {
logger.info("Text backgrounds supported:");
Reflections reflections = new Reflections(new ConfigurationBuilder().setScanners(new SubTypesScanner(false), new ResourcesScanner()).setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))).filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("com.sldeditor.importdata.esri.textbackground"))));
Set<Class<? extends Object>> allClasses = reflections.getSubTypesOf(Object.class);
for (Class<? extends Object> claszz : allClasses) {
try {
if (validClass(claszz, EsriTextBackgroundInterface.class)) {
EsriTextBackgroundInterface textBackgroundObj = (EsriTextBackgroundInterface) claszz.newInstance();
logger.info(textBackgroundObj.getBackgroundClass().getName());
data.addTextBackground(textBackgroundObj);
}
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
Aggregations