code: @Override
     public void generate(Definition def)
     {
        generatePackageInfo(def, "main", null);
  
        generateRaCode(def);
        generateOutboundCode(def);
        generateInboundCode(def);
  
        generateTestCode(def);
  
        switch (def.getBuild())
        {
           case "ivy":
              generateAntIvyXml(def, def.getOutputDir());
              break;
           case "maven":
              generateMavenXml(def, def.getOutputDir());
              break;
           case "gradle":
              generateGradle(def, def.getOutputDir());
              break;
           default:
              generateAntXml(def, def.getOutputDir());
              break;
        }
  
        generateRaXml(def, def.getOutputDir());
        if (def.isSupportOutbound())
           generateIronjacamarXml(def, def.getOutputDir());
  
        if (def.isGenMbean() &&
              def.isSupportOutbound() &&
              !def.getMcfDefs().get(0).isUseCciConnection())
        {
           generateMBeanCode(def);
           generateMbeanXml(def, def.getOutputDir());
        }
  
        if (def.isSupportEis() &&
              def.isSupportOutbound() &&
              !def.getMcfDefs().get(0).isUseCciConnection())
        {
           generateEisCode(def);
        }
     }
docs: generate code
  
  @param def Definition