org.infinispan.configuration.serializing.AbstractStoreSerializer Maven / Gradle / Ivy
package org.infinispan.configuration.serializing;
import static org.infinispan.configuration.serializing.SerializeUtils.writeTypedProperties;
import javax.xml.stream.XMLStreamException;
import org.infinispan.commons.configuration.attributes.AttributeSet;
import org.infinispan.commons.util.TypedProperties;
import org.infinispan.configuration.cache.AbstractStoreConfiguration;
import org.infinispan.configuration.cache.AsyncStoreConfiguration;
import org.infinispan.configuration.cache.SingletonStoreConfiguration;
import org.infinispan.configuration.cache.StoreConfiguration;
import org.infinispan.configuration.parsing.Attribute;
import org.infinispan.configuration.parsing.Element;
/**
* AbstractStoreSerializer.
*
* @author Tristan Tarrant
* @since 9.0
*/
public abstract class AbstractStoreSerializer {
protected void writeCommonStoreSubAttributes(XMLExtendedStreamWriter writer, AbstractStoreConfiguration configuration) throws XMLStreamException {
configuration.singletonStore().attributes().write(writer, SingletonStoreConfiguration.ENABLED, Attribute.SINGLETON);
}
protected void writeCommonStoreElements(XMLExtendedStreamWriter writer, StoreConfiguration configuration) throws XMLStreamException {
if (configuration.async().enabled()) {
writeStoreWriteBehind(writer, configuration);
}
writeTypedProperties(writer, TypedProperties.toTypedProperties(configuration.properties()));
}
private void writeStoreWriteBehind(XMLExtendedStreamWriter writer, StoreConfiguration configuration) throws XMLStreamException {
AttributeSet writeBehind = configuration.async().attributes();
if (writeBehind.isModified()) {
writer.writeStartElement(Element.WRITE_BEHIND);
writeBehind.write(writer, AsyncStoreConfiguration.MODIFICATION_QUEUE_SIZE, Attribute.MODIFICATION_QUEUE_SIZE);
writeBehind.write(writer, AsyncStoreConfiguration.THREAD_POOL_SIZE, Attribute.THREAD_POOL_SIZE);
writer.writeEndElement();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy