this.uri = new URI(uri);
} catch (URISyntaxException e) {
throw new ValidationException(String.format("Invalid uri '%s'", uri), e);
}
if (this.uri.getScheme() == null || this.uri.getScheme().equals("file")) {
this.output = new OutputFile(this.uri, settings);
} else if (this.uri.getScheme().equalsIgnoreCase("s3")) {
this.output = new OutputS3(this.uri, settings);
} else {
throw new UnsupportedFeatureException(String.format("Unknown scheme '%s'", this.uri.getScheme()));
}