package org.infinispan.persistence.remote.configuration;
import org.infinispan.commons.configuration.AbstractTypedPropertiesConfiguration;
import org.infinispan.commons.configuration.attributes.AttributeDefinition;
import org.infinispan.commons.configuration.attributes.AttributeInitializer;
import org.infinispan.commons.configuration.attributes.AttributeSet;
import org.infinispan.commons.executors.ExecutorFactory;
import org.infinispan.executors.DefaultExecutorFactory;
public class ExecutorFactoryConfiguration extends AbstractTypedPropertiesConfiguration {
static final AttributeDefinition<ExecutorFactory> EXECUTOR_FACTORY = AttributeDefinition.builder("executorFactory", null, ExecutorFactory.class)
.initializer(DefaultExecutorFactory::new).immutable().build();
static AttributeSet attributeDefinitionSet() {
return new AttributeSet(ExecutorFactoryConfiguration.class, AbstractTypedPropertiesConfiguration.attributeSet(), EXECUTOR_FACTORY);
};
ExecutorFactoryConfiguration(AttributeSet attributes) {
super(attributes);
}
public ExecutorFactory factory() {
return attributes.attribute(EXECUTOR_FACTORY).get();
}
@Override
public String toString() {
return "ExecutorFactoryConfiguration [attributes=" + attributes + "]";
}
AttributeSet attributes() {
return attributes;
}
}