org.jtrim2.taskgraph.basic.TaskGraphBuilderFactory Maven / Gradle / Ivy
package org.jtrim2.taskgraph.basic;
import java.util.Collection;
import org.jtrim2.taskgraph.TaskFactoryConfig;
import org.jtrim2.taskgraph.TaskGraphBuilder;
/**
* Defines factory creating {@code TaskGraphBuilder} for a list of task
* node factory definitions.
*
* Thread safety
* The method of this interface can be called from multiple threads
* concurrently.
*
* Synchronization transparency
* The methods of this class are not required to be synchronization transparent.
*
* @see CollectingTaskGraphDefConfigurer
* @see org.jtrim2.taskgraph.TaskGraphExecutors
* @see TaskGraphBuilder
*/
public interface TaskGraphBuilderFactory {
/**
* Returns a new {@code TaskGraphBuilder} able to build a graph using the given
* task node factories.
*
* @param configs the task node factory definitions. This argument cannot be {@code null}
* and may not contain {@code null} elements.
* @return a new {@code TaskGraphBuilder} able to build a graph using the given
* task node factories. This method never returns {@code null}.
*/
public TaskGraphBuilder createGraphBuilder(
Collection extends TaskFactoryConfig, ?>> configs);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy