Class<?> commandClass = Class.forName(strClassName);
if (!Modifier.isAbstract(commandClass.getModifiers())) {
if(log.isDebugEnabled()) {
log.debug("Instantiating: "+ commandClass.getName());
}
MenuCreator creator = (MenuCreator) commandClass.newInstance();
menuCreators.add(creator);
}
} catch (Exception e) {
log.error("Exception registering "+MenuCreator.class.getName() + " with implementation:"+strClassName, e);
}
}
} catch (IOException e) {
log.error("Exception finding implementations of "+MenuCreator.class, e);
}
makeFileMenu();
makeEditMenu();
makeRunMenu();
makeOptionsMenu();
makeHelpMenu();
makeSearchMenu();
this.add(fileMenu);
this.add(editMenu);
this.add(searchMenu);
this.add(runMenu);
this.add(optionsMenu);
for (Iterator<MenuCreator> iterator = menuCreators.iterator(); iterator.hasNext();) {
MenuCreator menuCreator = iterator.next();
JMenu[] topLevelMenus = menuCreator.getTopLevelMenus();
for (JMenu topLevelMenu : topLevelMenus) {
this.add(topLevelMenu);
}
}
this.add(helpMenu);