class SimpleJvmExitCodeMapper implements ExitCodeMapper {

	protected Log logger = LogFactory.getLog(getClass());

	private final Map<String, Integer> mapping;

	public SimpleJvmExitCodeMapper() {
		mapping = new HashMap<>();
		mapping.put(ExitStatus.COMPLETED.getExitCode(), JVM_EXITCODE_COMPLETED);
		mapping.put(ExitStatus.FAILED.getExitCode(), JVM_EXITCODE_GENERIC_ERROR);
		mapping.put(ExitCodeMapper.JOB_NOT_PROVIDED, JVM_EXITCODE_JOB_ERROR);
		mapping.put(ExitCodeMapper.NO_SUCH_JOB, JVM_EXITCODE_JOB_ERROR);
	}

	public Map<String, Integer> getMapping() {
		return mapping;
	}

	/**
	 * Supply the ExitCodeMappings
	 * @param exitCodeMap A set of mappings between environment specific exit codes and
	 * batch framework internal exit codes
	 */
	public void setMapping(Map<String, Integer> exitCodeMap) {
		mapping.putAll(exitCodeMap);
	}

	/**
	 * Get the operating system exit status that matches a certain Batch Framework exit
	 * code
	 * @param exitCode The exit code of the Batch Job as known by the Batch Framework
	 * @return The exitCode of the Batch Job as known by the JVM
	 */
	@Override
	public int intValue(String exitCode) {<FILL_FUNCTION_BODY>}

}


		Integer statusCode = null;

		try {
			statusCode = mapping.get(exitCode);
		}
		catch (RuntimeException ex) {
			// We still need to return an exit code, even if there is an issue
			// with
			// the mapper.
			logger.fatal("Error mapping exit code, generic exit status returned.", ex);
		}

		return (statusCode != null) ? statusCode : JVM_EXITCODE_GENERIC_ERROR;
	
<no_super_class>