@Override public String getExtension(final IResourceReference resourceReference) { if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getExtension(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) { // nothing to do } } return ResourceReferenceUtilities.getExtension(resourceReference); }
@Override public InputStream visitUriResource(final UriResourceReference uriResourceReference) throws IOException { return ResourceReferenceHandler.this.connector .openInputStream(uriResourceReference.getUri(), contentTypeAcceptor); }
@Override public OutputStream visitUriResource(final UriResourceReference uriResourceReference) throws IOException { return ResourceReferenceHandler.this.connector.openOutputStream(uriResourceReference.getUri()); }
@Override public String visitPathResource(final PathResourceReference pathResourceReference) throws RuntimeException { return getContentType(pathResourceReference.getPath()); }
@Override public InputStream visitUrlResource(final UrlResourceReference urlResourceReference) throws IOException { try { return ResourceReferenceHandler.this.connector .openInputStream(getUri(urlResourceReference), contentTypeAcceptor); } catch (final URISyntaxException exception) { throw new IOException(exception); } }
@Override public OutputStream visitUrlResource(final UrlResourceReference urlResourceReference) throws IOException { try { return ResourceReferenceHandler.this.connector.openOutputStream(getUri(urlResourceReference)); } catch (final URISyntaxException exception) { throw new IOException(exception); } }
@Override public Path visitPathResource(final PathResourceReference pathResourceReference) throws URISyntaxException { return pathResourceReference.getPath(); } });
@Override public File visitFileResource(final FileResourceReference fileResourceReference) { return fileResourceReference.getFile(); }
@Override public URI visitUriResource(final UriResourceReference uriResourceReference) { return uriResourceReference.getUri(); }
@Override public String visitMemoryResource(final MemoryResourceReference memoryResourceReference) throws RuntimeException { return memoryResourceReference.toString(); }
@Override public URI getUri(final IResourceReference resourceReference) throws URISyntaxException { return ResourceReferenceUtilities.getUri(resourceReference); }
@Override public InputStream openInputStream(final IResourceReference resourceReference) throws IOException { return openInputStream(resourceReference, s -> true); }
@Override public String getExtension(final IResourceReference resourceReference) { if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getExtension(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) { // nothing to do } } return ResourceReferenceUtilities.getExtension(resourceReference); }
@Override public InputStream visitUriResource(final UriResourceReference uriResourceReference) throws IOException { return ResourceReferenceHandler.this.connector .openInputStream(uriResourceReference.getUri(), contentTypeAcceptor); }
@Override public OutputStream visitUriResource(final UriResourceReference uriResourceReference) throws IOException { return ResourceReferenceHandler.this.connector.openOutputStream(uriResourceReference.getUri()); }
@Override public String visitPathResource(final PathResourceReference pathResourceReference) throws RuntimeException { return getContentType(pathResourceReference.getPath()); }
@Override public InputStream visitUrlResource(final UrlResourceReference urlResourceReference) throws IOException { try { return ResourceReferenceHandler.this.connector .openInputStream(getUri(urlResourceReference), contentTypeAcceptor); } catch (final URISyntaxException exception) { throw new IOException(exception); } }
@Override public Path visitPathResource(final PathResourceReference pathResourceReference) throws URISyntaxException { return pathResourceReference.getPath(); } });