package org.infinispan.persistence.sifs.configuration; import javax.xml.stream.XMLStreamException; import org.infinispan.configuration.serializing.AbstractStoreSerializer; import org.infinispan.configuration.serializing.ConfigurationSerializer; import org.infinispan.configuration.serializing.XMLExtendedStreamWriter; /** * SoftIndexFileStoreSerializer. * * @author Tristan Tarrant * @since 9.0 */ public class SoftIndexFileStoreSerializer extends AbstractStoreSerializer implements ConfigurationSerializer<SoftIndexFileStoreConfiguration> { @Override public void serialize(XMLExtendedStreamWriter writer, SoftIndexFileStoreConfiguration configuration) throws XMLStreamException { writer.writeStartElement(Element.SOFT_INDEX_FILE_STORE); configuration.attributes().write(writer); writeCommonStoreSubAttributes(writer, configuration); writeDataElement(writer, configuration); writeIndexElement(writer, configuration); writeCommonStoreElements(writer, configuration); writer.writeEndElement(); } private void writeDataElement(XMLExtendedStreamWriter writer, SoftIndexFileStoreConfiguration configuration) throws XMLStreamException { configuration.attributes().write(writer, Element.DATA.getLocalName(), SoftIndexFileStoreConfiguration.DATA_LOCATION, SoftIndexFileStoreConfiguration.MAX_FILE_SIZE, SoftIndexFileStoreConfiguration.SYNC_WRITES); } private void writeIndexElement(XMLExtendedStreamWriter writer, SoftIndexFileStoreConfiguration configuration) throws XMLStreamException { configuration.attributes().write(writer, Element.INDEX.getLocalName(), SoftIndexFileStoreConfiguration.INDEX_LOCATION, SoftIndexFileStoreConfiguration.INDEX_QUEUE_LENGTH, SoftIndexFileStoreConfiguration.INDEX_SEGMENTS, SoftIndexFileStoreConfiguration.MIN_NODE_SIZE, SoftIndexFileStoreConfiguration.MAX_NODE_SIZE); } }