package org.infinispan.persistence.cluster;
import java.util.Properties;
import org.infinispan.configuration.cache.AbstractStoreConfigurationBuilder;
import org.infinispan.configuration.cache.PersistenceConfigurationBuilder;
import org.infinispan.configuration.parsing.XmlConfigHelper;
public class MyCustomCacheStoreConfigurationBuilder extends AbstractStoreConfigurationBuilder<MyCustomCacheStoreConfiguration, MyCustomCacheStoreConfigurationBuilder> {
private int customProperty;
public MyCustomCacheStoreConfigurationBuilder(PersistenceConfigurationBuilder builder) {
super(builder);
}
@Override
public MyCustomCacheStoreConfigurationBuilder self() {
return this;
}
public MyCustomCacheStoreConfigurationBuilder customProperty(int customProperty) {
this.customProperty = customProperty;
return this;
}
@Override
public MyCustomCacheStoreConfigurationBuilder withProperties(Properties p) {
this.properties = p;
XmlConfigHelper.setValues(this, properties, false, true);
return this;
}
@Override
public void validate() {
}
@Override
public MyCustomCacheStoreConfiguration create() {
return new MyCustomCacheStoreConfiguration(purgeOnStartup, fetchPersistentState, ignoreModifications, async.create(),
singletonStore.create(), preload, shared, properties, customProperty);
}
@Override
public MyCustomCacheStoreConfigurationBuilder read(MyCustomCacheStoreConfiguration template) {
super.read(template);
this.customProperty = template.customProperty();
return this;
}
}