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

prerna.engine.api.IFunctionEngine Maven / Gradle / Ivy

The newest version!
package prerna.engine.api;

import java.util.List;
import java.util.Map;

import prerna.engine.impl.function.FunctionParameter;

public interface IFunctionEngine extends IEngine {

	// this is what the FE sends for the type of storage we are creating
	// as a result, cannot be a key in the smss file
	String FUNCTION_TYPE = "FUNCTION_TYPE";
	
	String NAME_KEY = "FUNCTION_NAME";
	String DESCRIPTION_KEY = "FUNCTION_DESCRIPTION";
	String PARAMETER_KEY = "FUNCTION_PARAMETERS";
	String REQUIRED_PARAMETER_KEY = "FUNCTION_REQUIRED_PARAMETERS";

	/**
	 * 
	 * @param args
	 * @return
	 */
	Object execute(Map parameterValues);
	
	/**
	 * Unique name of the function
	 * @return
	 */
	String getFunctionName();
	
	/**
	 * 
	 */
	void setFunctionName(String functionName);
	
	/**
	 * Description of what this function does
	 * @return
	 */
	String getFunctionDescription();
	
	/**
	 * 
	 * @param description
	 */
	void setFunctionDescription(String description);
	
	/**
	 * 
	 * @return
	 */
	List getParameters();
	
	/**
	 * 
	 * @param parameters
	 */
	void setParameters(List parameters);
	
	/**
	 * 
	 * @return
	 */
	List getRequiredParameters();
	
	/**
	 * 
	 * @param requiredParameters
	 */
	void setRequiredParameters(List requiredParameters);
	
	/**
	 * 
	 * @return
	 */
	org.json.JSONObject getFunctionDefintionJson();
	
	
	/**
	 * 
	 * @return json representation of function
	 */
	Map buildFunctionEngineToolMap();

	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy