/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.toolkit.modules.concurrency.setup; import de.rcenvironment.toolkit.modules.concurrency.api.AsyncTaskService; /** * Configuration parameters for a {@link ConcurrencyModule}. * * @author Robert Mischke */ public class ConcurrencyModuleConfiguration { private int threadPoolSize = 0; private String threadPoolName = null; private int periodicTaskLoggingIntervalMsec = 0; /** * @param value the maximum number of threads in the thread pool; a value of 0 (the default) selects the implementation's default value * @return this configuration instance (for call chaining) */ public ConcurrencyModuleConfiguration setThreadPoolSize(int value) { this.threadPoolSize = value; return this; } /** * @param value the base name of the pooled threads; a value of null (the default) selects the implementation's default value * @return this configuration instance (for call chaining) */ public ConcurrencyModuleConfiguration setThreadPoolName(String value) { this.threadPoolName = value; return this; } /** * @param value the interval, in msec, between logging the current {@link AsyncTaskService} state on the DEBUG level; a value of 0 (the * default) disables it * @return this configuration instance (for call chaining) */ public ConcurrencyModuleConfiguration setPeriodicTaskLoggingIntervalMsec(int value) { this.periodicTaskLoggingIntervalMsec = value; return this; } public String getThreadPoolName() { return threadPoolName; } public int getThreadPoolSize() { return threadPoolSize; } public int getPeriodicTaskLoggingIntervalMsec() { return periodicTaskLoggingIntervalMsec; } }