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<>();
}