private void generateDynamicRegionFactory(Cache c) throws SAXException {
    if (version.compareTo(CacheXmlVersion.GEMFIRE_4_1) < 0) {
      return;
    }
    DynamicRegionFactory.Config cfg;
    if (c instanceof CacheCreation) {
      cfg = ((CacheCreation) c).getDynamicRegionFactoryConfig();
    } else {
      DynamicRegionFactory drf = DynamicRegionFactory.get();
      if (drf == null || drf.isClosed()) {
        return;
      }
      cfg = drf.getConfig();
    }
    if (cfg == null) {
      return;
    }
    AttributesImpl atts = new AttributesImpl();
    if (!cfg.getPersistBackup()) {
      atts.addAttribute("", "", DISABLE_PERSIST_BACKUP, "", "true");
    }
    if (!cfg.getRegisterInterest()) {
      atts.addAttribute("", "", DISABLE_REGISTER_INTEREST, "", "true");
    }
    if (cfg.getPoolName() != null) {
      atts.addAttribute("", "", POOL_NAME, "", cfg.getPoolName());
    }
    handler.startElement("", DYNAMIC_REGION_FACTORY, DYNAMIC_REGION_FACTORY, atts);
    {
      File dir = cfg.getDiskDir();
      if (dir != null) {
        handler.startElement("", DISK_DIR, DISK_DIR, EMPTY);
        String name = generateDefaults() ? dir.getAbsolutePath() : dir.getPath();
        handler.characters(name.toCharArray(), 0, name.length());
        handler.endElement("", DISK_DIR, DISK_DIR);
      }
    }
    handler.endElement("", DYNAMIC_REGION_FACTORY, DYNAMIC_REGION_FACTORY);
  }
Generates XML for a DynamicRegionFactory.Config

@since GemFire 4.3
geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheXmlGenerator.java