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

prerna.reactor.task.lambda.flatmap.FlatMapLambdaFactory Maven / Gradle / Ivy

The newest version!
package prerna.reactor.task.lambda.flatmap;

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

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import prerna.util.Constants;

public class FlatMapLambdaFactory {
	
	private static final Logger classLogger = LogManager.getLogger(FlatMapLambdaFactory.class);

	public static Map flatMapLambdas = new HashMap();
	
	static {
		init();
	}
	
	private FlatMapLambdaFactory() {
		
	}
	
	private static void init() {
		flatMapLambdas.put("TWITTERSEARCH", TwitterSearchLambda.class);
		flatMapLambdas.put("GOOGLESENTIMENT", GoogleSentimentAnalyzerLambda.class);
		flatMapLambdas.put("GOOGLEENTITY", GoogleEntityAnalyzerLambda.class);
	}

	public static IFlatMapLambda getLambda(String transType) {
		IFlatMapLambda newClass = null;
		
		transType = transType.toUpperCase();
		if(flatMapLambdas.containsKey(transType)) {
			try {
				newClass = (IFlatMapLambda) flatMapLambdas.get(transType).newInstance();
			} catch (InstantiationException | IllegalAccessException e) {
				classLogger.error(Constants.STACKTRACE, e);
			}
		}
		
		return newClass;
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy