@Override
public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException {
final ContentHandler handler = cacheXmlGenerator.getContentHandler();
handler.startPrefixMapping(PREFIX, NAMESPACE);
AttributesImpl attr = new AttributesImpl();
XmlGeneratorUtils.addAttribute(attr, NAME, index.getName());
XmlGeneratorUtils.startElement(handler, PREFIX, INDEX, attr);
for (String field : index.getFieldNames()) {
AttributesImpl fieldAttr = new AttributesImpl();
XmlGeneratorUtils.addAttribute(fieldAttr, NAME, field);
Analyzer analyzer = index.getFieldAnalyzers().get(field);
if (analyzer != null) {
XmlGeneratorUtils.addAttribute(fieldAttr, ANALYZER, analyzer.getClass().getName());
}
XmlGeneratorUtils.emptyElement(handler, PREFIX, FIELD, fieldAttr);
}
LuceneSerializer serializer = index.getLuceneSerializer();
if (serializer != null) {
XmlGeneratorUtils.startElement(handler, PREFIX, SERIALIZER, EMPTY);
XmlGeneratorUtils.addDeclarable(handler, serializer);
XmlGeneratorUtils.endElement(handler, PREFIX, SERIALIZER);
}
XmlGeneratorUtils.endElement(handler, PREFIX, INDEX);
}
}