/** * A helper method that checks, whether a given module is available. The result of this method is undefined if the * system has no been booted yet. * * @param moduleClass * the class-name of the module that should be tested. * @return true, if the module is available and has been initialized correctly, false otherwise. */ public boolean isModuleAvailable( final String moduleClass ) { return getPackageManager().isModuleAvailable( new DefaultModuleInfo( moduleClass, null, null, null ) ); }
/** * Adds a module to the package manager. Once all modules are added, you have to call initializeModules() to configure * and initialize the new modules. * * @param modClass the module class */ public synchronized void addModule( final String modClass ) { if ( modClass == null ) { throw new NullPointerException(); } final ArrayList<Module> loadModules = new ArrayList<Module>(); final ModuleInfo modInfo = new DefaultModuleInfo( modClass, null, null, null ); if ( loadModule( modInfo, new ArrayList<Module>(), loadModules, false ) ) { for ( int i = 0; i < loadModules.size(); i++ ) { final Module mod = loadModules.get( i ); final PackageState state = new PackageState( mod ); this.modules.add( state ); this.modulesByClass.put( mod.getModuleClass(), state ); } } }
/** * Adds a module to the package manager. Once all modules are added, you have to call initializeModules() to configure * and initialize the new modules. * * @param modClass the module class */ public synchronized void addModule(final String modClass) { if (modClass == null) { throw new NullPointerException(); } final ArrayList<Module> loadModules = new ArrayList<Module>(); final ModuleInfo modInfo = new DefaultModuleInfo(modClass, null, null, null); if (loadModule(modInfo, new ArrayList<Module>(), loadModules, false)) { for (int i = 0; i < loadModules.size(); i++) { final Module mod = loadModules.get(i); final PackageState state = new PackageState(mod); this.modules.add(state); this.modulesByClass.put(mod.getModuleClass(), state); } } }
/** * Reads an external module description. This describes either an optional or a required module. * * @param reader the reader from where to read the module * @param prefix the property-key prefix. * @return the read module, never null */ private DefaultModuleInfo readExternalModule( final Configuration reader, final String prefix ) { final DefaultModuleInfo mi = new DefaultModuleInfo(); mi.setModuleClass( reader.getConfigProperty( prefix + ".module" ) ); mi.setMajorVersion( reader.getConfigProperty( prefix + ".version.major" ) ); mi.setMinorVersion( reader.getConfigProperty( prefix + ".version.minor" ) ); mi.setPatchLevel( reader.getConfigProperty( prefix + ".version.patchlevel" ) ); return mi; }
/** * Reads an external module description. This describes either an optional or * a required module. * * @param reader the reader from where to read the module * @param prefix the property-key prefix. * @return the read module, never null */ private DefaultModuleInfo readExternalModule(final Configuration reader, final String prefix) { final DefaultModuleInfo mi = new DefaultModuleInfo(); mi.setModuleClass(reader.getConfigProperty(prefix + ".module")); mi.setMajorVersion(reader.getConfigProperty(prefix + ".version.major")); mi.setMinorVersion(reader.getConfigProperty(prefix + ".version.minor")); mi.setPatchLevel(reader.getConfigProperty(prefix + ".version.patchlevel")); return mi; }