public static ExecutableScript getScriptFromSourceExpression(String language, Expression sourceExpression, ScriptFactory scriptFactory) {
    ensureNotEmpty(NotValidException.class, "Script language", language);
    ensureNotNull(NotValidException.class, "Script source expression", sourceExpression);
    return scriptFactory.createScriptFromSource(language, sourceExpression);
  }
public static ExecutableScript getScriptFromSourceExpression ( String language , Expression sourceExpression , ScriptFactory scriptFactory ) { ensureNotEmpty ( NotValidException . class , "Script language" , language ) ; ensureNotNull ( NotValidException . class , "Script source expression" , sourceExpression ) ; return scriptFactory . createScriptFromSource ( language , sourceExpression ) ; }
Creates a new {@link ExecutableScript} from a dynamic source. Dynamic means that the source
is an expression which will be evaluated during execution.

@param language the language of the script
@param sourceExpression the expression which evaluates to the source code
@param scriptFactory the script factory used to create the script
@return the newly created script
@throws NotValidException if language is null or empty or sourceExpression is null