public static void registerPluginAnalysisEngines ( DetectorFactoryCollection detectorFactoryCollection , IAnalysisCache analysisCache ) throws IOException { for ( Iterator < Plugin > i = detectorFactoryCollection . pluginIterator ( ) ; i . hasNext ( ) ; ) { Plugin plugin = i . next ( ) ; Class < ? extends IAnalysisEngineRegistrar > engineRegistrarClass = plugin . getEngineRegistrarClass ( ) ; if ( engineRegistrarClass != null ) { try { IAnalysisEngineRegistrar engineRegistrar = engineRegistrarClass . newInstance ( ) ; engineRegistrar . registerAnalysisEngines ( analysisCache ) ; } catch ( InstantiationException e ) { IOException ioe = new IOException ( "Could not create analysis engine registrar for plugin " + plugin . getPluginId ( ) ) ; ioe . initCause ( e ) ; throw ioe ; } catch ( IllegalAccessException e ) { IOException ioe = new IOException ( "Could not create analysis engine registrar for plugin " + plugin . getPluginId ( ) ) ; ioe . initCause ( e ) ; throw ioe ; } } } }
Register all of the analysis engines defined in the plugins contained in a DetectorFactoryCollection with an IAnalysisCache .