private static void addBundle ( final Object bundleWiring , final ClassLoader classLoader , final ClasspathOrder classpathOrderOut , final Set < Object > bundles , final ScanSpec scanSpec , final LogNode log ) { // Track the bundles we've processed to prevent loops bundles . add ( bundleWiring ) ; // Get the revision for this wiring final Object revision = ReflectionUtils . invokeMethod ( bundleWiring , "getRevision" , false ) ; // Get the contents final Object content = ReflectionUtils . invokeMethod ( revision , "getContent" , false ) ; final String location = content != null ? getContentLocation ( content ) : null ; if ( location != null ) { // Add the bundle object classpathOrderOut . addClasspathEntry ( location , classLoader , scanSpec , log ) ; // And any embedded content final List < ? > embeddedContent = ( List < ? > ) ReflectionUtils . invokeMethod ( revision , "getContentPath" , false ) ; if ( embeddedContent != null ) { for ( final Object embedded : embeddedContent ) { if ( embedded != content ) { final String embeddedLocation = embedded != null ? getContentLocation ( embedded ) : null ; if ( embeddedLocation != null ) { classpathOrderOut . addClasspathEntry ( embeddedLocation , classLoader , scanSpec , log ) ; } } } } } }
Adds the bundle .