All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.talanlabs.taskmanager.engine.configuration.registry.TaskDefinitionRegistryBuilder Maven / Gradle / Ivy

The newest version!
package com.talanlabs.taskmanager.engine.configuration.registry;

import com.talanlabs.taskmanager.engine.taskdefinition.ITaskDefinition;

import java.util.HashMap;
import java.util.Map;

public class TaskDefinitionRegistryBuilder {

    private final MyTaskDefinitionRegistry taskDefinitionRegistry;

    private TaskDefinitionRegistryBuilder() {
        super();

        this.taskDefinitionRegistry = new MyTaskDefinitionRegistry();
    }

    public static TaskDefinitionRegistryBuilder newBuilder() {
        return new TaskDefinitionRegistryBuilder();
    }

    public TaskDefinitionRegistryBuilder addTaskDefinition(ITaskDefinition taskDefinition) {
        taskDefinitionRegistry.taskDefinitionMap.put(taskDefinition.getCode(), taskDefinition);
        return this;
    }

    public ITaskDefinitionRegistry build() {
        return taskDefinitionRegistry;
    }

    private static class MyTaskDefinitionRegistry extends AbstractTaskDefinitionRegistry {

        private Map taskDefinitionMap;

        public MyTaskDefinitionRegistry() {
            super();

            this.taskDefinitionMap = new HashMap<>();
        }

        @Override
        public ITaskDefinition getTaskDefinition(String code) {
            return taskDefinitionMap.get(code);
        }

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy