# -----------------------------------------------------------------------------
# this is loaded as a resource bundle by com.vladium.emma.* exceptions
# -----------------------------------------------------------------------------

UNEXPECTED_FAILURE: \
unexpected failure {0}, please submit a bug report to: ''{1}''

INVALID_PARAMETER_VALUE: \
value ''{1}'' is not valid for parameter ''{0}''

REQUIRED_PARAMETER_MISSING: \
required parameter [{0}] is not specified 

INVALID_COLUMN_NAME: \
invalid report column name [{0}]

SECURITY_RESTRICTION: \
current security settings are too restrictive for {0} to operate

MAIN_CLASS_BAD_DELEGATION: \
the application class [{1}] that you are trying to launch was not loaded \
by {0} instrumenting classloader, possibly because is was not listed in \
the '-cp' option: {0} will not be able to collect any coverage data. The \
actual classloader was: {2}

MAIN_CLASS_NOT_FOUND: \
application class [{0}] could not be loaded

MAIN_CLASS_LOAD_FAILURE: \
application class [{0}] could not be loaded and initialized, most likely due \
to static initializer failure: {1}

MAIN_METHOD_NOT_FOUND: \
application class [{0}] does not have a runnable public main() method

MAIN_METHOD_FAILURE: \
{0}.main() method failure: {1}

REPORT_GEN_FAILURE: \
failed to generate report

REPORT_IO_FAILURE: \
exception occurred while writing report file(s):

CLASS_STAMP_MISMATCH: \
runtime version of class [{0}] in the coverage data is not consistent \
with the version of this class in the metadata, possibly because stale \
metadata is being used for report generation.

OUT_MKDIR_FAILURE: \
output directory [{0}] could not be created

INSTR_IO_FAILURE: \
exception occurred while writing instrumented file(s):

OUT_IO_FAILURE: \
exception occurred while writing output file [{0}]:

ARGS_IO_FAILURE: \
exception while processing settings:

# -----------------------------------------------------------------------------
# end of file
