Usually, we read the menu configuration for an application from a database, but the read class is defined as an interface (IWorkScreenAccess). Therefore, it is not a problem to read the configuration from another datasource or configure it manually with source code.
A short example is how a ProjX application will work without database (use the following code in your session LCO):
public IWorkScreenAccess getWorkScreenAccess() { MemWorkScreenAccess wosc = (MemWorkScreenAccess)get("workScreenAccess"); if (wosc == null) { wosc = new MemWorkScreenAccess(); WorkScreenConfig cfg = new WorkScreenConfig(); cfg.setClassName("demo.screens.SimpleWorkScreen"); cfg.setMenuStructure("MDM"); cfg.setText("Simple"); wosc.addScreen(cfg); put("workScreenAccess", wosc); } return wosc; }
If you create automated test-cases, this could be useful because it does not need a database.