private static void processEnvironmentConfigExtensions(final Set<MetaClass> exposedClasses) { final Collection<MetaClass> exts = ClassScanner.getTypesAnnotatedWith(EnvironmentConfigExtension.class, true); for (final MetaClass cls : exts) { try { final Class<? extends ExposedTypesProvider> providerClass = cls.asClass().asSubclass(ExposedTypesProvider.class); for (final MetaClass exposedType : providerClass.newInstance().provideTypesToExpose()) { if (exposedType.isPrimitive()) { exposedClasses.add(exposedType.asBoxed()); } else if (exposedType.isConcrete()) { exposedClasses.add(exposedType); } } } catch (final Throwable e) { throw new RuntimeException("unable to load environment extension: " + cls.getFullyQualifiedName(), e); } } }
private static void processEnvironmentConfigExtensions(final Set<MetaClass> exposedClasses) { final Collection<MetaClass> exts = ClassScanner.getTypesAnnotatedWith(EnvironmentConfigExtension.class, true); for (final MetaClass cls : exts) { try { final Class<? extends ExposedTypesProvider> providerClass = cls.asClass().asSubclass(ExposedTypesProvider.class); for (final MetaClass exposedType : providerClass.newInstance().provideTypesToExpose()) { if (exposedType.isPrimitive()) { exposedClasses.add(exposedType.asBoxed()); } else if (exposedType.isConcrete()) { exposedClasses.add(exposedType); } } } catch (final Throwable e) { throw new RuntimeException("unable to load environment extension: " + cls.getFullyQualifiedName(), e); } } }