private InteractiveSchemaGenerator()

in c3r-cli/src/main/java/com/amazonaws/c3r/io/schema/InteractiveSchemaGenerator.java [117:141]


    private InteractiveSchemaGenerator(final List<ColumnHeader> sourceHeaders,
                                       @NonNull final List<ClientDataType> sourceColumnTypes,
                                       @NonNull final String targetJsonFile,
                                       final BufferedReader consoleInput,
                                       final PrintStream consoleOutput,
                                       final ClientSettings clientSettings) {
        if (sourceHeaders != null && sourceHeaders.size() != sourceColumnTypes.size()) {
            throw new C3rIllegalArgumentException("Interactive schema generator given " + sourceHeaders.size() + " headers and " +
                    sourceColumnTypes.size() + " column data types.");
        }

        this.headers = sourceHeaders == null ? null : List.copyOf(sourceHeaders);
        this.sourceColumnTypes = sourceColumnTypes;
        this.sourceColumnCount = sourceColumnTypes.size();
        this.unsupportedTypeColumnCount = 0;
        this.targetJsonFile = targetJsonFile;
        this.consoleInput = (consoleInput == null)
                ? new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8))
                : consoleInput;
        this.consoleOutput = (consoleOutput == null) ? new PrintStream(System.out, true, StandardCharsets.UTF_8)
                : consoleOutput;
        this.allowCleartextColumns = clientSettings == null || clientSettings.isAllowCleartext();
        generatedColumnSchemas = new ArrayList<>();
        usedColumnHeaders = new HashSet<>();
    }