default void loadRegistered( Set<ITypeManifold> tms ) { Set<ITypeManifold> registeredTms = new HashSet<>(); ServiceUtil.loadRegisteredServices( registeredTms, ITypeManifold.class, getClass().getClassLoader() ); // Exclude type manifolds listed in the "manifold.exclude" sys property List<String> excludedTypeManifolds = getExcludedTypeManifolds(); tms.addAll( registeredTms.stream() .filter( tm -> tm.accept( this ) && !excludedTypeManifolds.contains( tm.getClass().getTypeName() ) ) .collect( Collectors.toSet() ) ); } }
/** * Loads, but does not initialize, all <i>built-in</i> type manifolds managed by this module. * A built-in type manifold is not registered as a Java service, instead it is constructed directly. */ default void loadBuiltIn( Set<ITypeManifold> tms ) { List<String> excludedTypeManifolds = getExcludedTypeManifolds(); addBuiltIn( PropertiesTypeManifold.class, tms, excludedTypeManifolds ); addBuiltIn( ImageTypeManifold.class, tms, excludedTypeManifolds ); addBuiltIn( DarkJavaTypeManifold.class, tms, excludedTypeManifolds ); }