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

io.github.butkoprojects.bots.preprocess.container.DefaultBotMethodContainer Maven / Gradle / Ivy

package io.github.butkoprojects.bots.preprocess.container;

import io.github.butkoprojects.bots.util.exception.BotApiMethodContainerException;
import io.github.butkoprojects.bots.preprocess.controller.BotApiMethodController;
import org.glassfish.grizzly.utils.Pair;
import org.springframework.stereotype.Component;

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

@Component
public class DefaultBotMethodContainer implements BotMethodContainer {

    private final Map controllerMap = new HashMap<>();

    @Override
    public void addBotController( String path,
                                  String controllerType,
                                  BotApiMethodController controller ) {
        final Pair key = new Pair<>( path, controllerType );
        final String stringKey = key.toString();
        if ( controllerMap.containsKey( stringKey ) ) throw new BotApiMethodContainerException( "path " + path + " already exists" );
        controllerMap.put( stringKey, controller );
    }

    @Override
    public BotApiMethodController getBotApiMethodController( String path,
                                                             String controllerType ) {
        System.out.println();
        return controllerMap.get( new Pair<>( path, controllerType ).toString() );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy