/**
* Удаляет расширение файла.
*
* main.jrxml
* ->
* main
*/
private static String removeExtension(
String fileName
) {
int dot =
fileName.lastIndexOf('.');
if (dot > 0) {
return fileName.substring(0, dot);
}
return fileName;
}
/**
* Проверка --help / -h.
*/
private static boolean hasHelp(
String[] args
) {
for (String arg : args) {
if ("--help".equalsIgnoreCase(arg)
|| "-h".equalsIgnoreCase(arg)) {
return true;
}
}
return false;
}
/**
* Проверка наличия флага.
*/
private static boolean hasFlag(
String[] args,
String flag
) {
for (String arg : args) {
if (flag.equalsIgnoreCase(arg)) {
return true;
}
}
return false;
}
/**
* Получает аргументы, которые не являются флагами.
*/
private static List<String> getPositionalArgs(
String[] args
) {
List<String> result =
new ArrayList<>();
for (String arg : args) {
if (!arg.startsWith("--")) {
result.add(arg);
}
}
return result;
}
/**
* Заголовок программы.
*/
private static void printHeader() {
System.out.println(
"JasperReports 6.12.2 Compiler"
);
System.out.println(
"----------------------------------------"
);
}
/**
* Справка.
*/
private static void printUsage() {
System.out.println();
System.out.println(
"Использование:"
);
System.out.println();
System.out.println(
" compile.bat report.jrxml"
);
System.out.println(
" compile.bat report"
);
System.out.println(
" compile.bat report.jrxml --all"
);
System.out.println(
" compile.bat report.jrxml --all --recursive"
);
System.out.println(
" compile.bat report.jrxml C:\\reports\\compiled"
);
System.out.println();
System.out.println(
"Опции:"
);
System.out.println(
" --all компилировать все JRXML в папке"
);
System.out.println(
" --recursive искать JRXML во вложенных папках"
);
System.out.println(
" --help показать справку"
);
System.out.println();
System.out.println(
"Пример:"
);
System.out.println();
System.out.println(
" compile.bat C:\\Reports\\main.jrxml --all"
);
}
}