@Override
  public void generate(DB[] dbs) throws IOException, GeneratorException, MergeException {

    // Use the latest database for retrieving package names
    DB db = dbs[dbs.length - 1];

    //
    //  Create SDOLibrary.java classes...
    //
    for (ObjectDef currentObj : db.getObjects()) {
      if (currentObj.isTopic()) {
        //  Generate the package-specific SDOLibrary classes...
        String dir = fDir + "mappings" + File.separator + currentObj.fPackage;

        File md = new File(dir);
        md.mkdirs();

        String fName = dir + File.separator + currentObj.getName() + ".xml";
        Map<String, String> enums = new HashMap<String, String>();
        System.out.println("- Generating: " + fName);
        PrintWriter out = new PrintWriter(new FileWriter(fName), true);
        out.println("<mappings id=\"Default\">");
        out.println("<!-- ============================== -->");
        out.println("<!-- Mappings for " + currentObj.getName() + " -->");
        out.println("<!-- ============================== -->");
        out.println("<object object=\"" + currentObj.getName() + "\">");
        printMappings(db, currentObj, out, null, null, enums);
        out.println("</object>");
        out.println();

        for (String key : enums.keySet()) {
          EnumDef def = db.getEnum(key);
          if (def != null) {
            writeValueSet(def, out, enums.get(key));
          }
        }

        out.println("</mappings>");
        out.close();
      }
    }
  }