Загрузка данных


/**
     * Удаляет расширение файла.
     *
     * 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"
        );
    }
}