@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 visitUrlResource(final UrlResourceReference urlResourceReference) throws IOException { try { return ResourceReferenceHandler.this.connector .openInputStream(getUri(urlResourceReference), contentTypeAcceptor); } catch (final URISyntaxException exception) { throw new IOException(exception); } }
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return canWrite(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return canRead(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return exsits(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return 0; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getContentLength(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
throw new IllegalArgumentException(); if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return openOnputStream(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
throw new IllegalArgumentException(); if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return openInputStream(this.factory.create(getFile(resourceReference)), contentTypeAcceptor); } catch (final URISyntaxException exception) {
@Override public String visitUrlResource(final UrlResourceReference urlResourceReference) throws RuntimeException { try { if (isFileSystemResource(resourceReference)) { return getContentType(getPath(urlResourceReference)); } return Optional .of( IOException.class, ResourceReferenceHandler.this.connector.getContentType(urlResourceReference.getUrl().toURI())) .getOr(() -> "application/octet-stream"); //$NON-NLS-1$ } catch (final URISyntaxException | IOException exception) { return "application/octet-stream"; //$NON-NLS-1$ } }
protected IOptional<File, IOException> ifFile(final IResourceReference resourceReference) { return Optional .of(IOException.class, resourceReference) .accept(r -> isFileSystemResource(resourceReference)) .convert(r -> { try { return getFile(resourceReference); } catch (final URISyntaxException exception) { throw new IOException(); } }); }
private boolean canDelete(final File file) { if (!file.canWrite()) { return false; } if (file.isDirectory()) { final File[] files = java.util.Optional.ofNullable(file.listFiles()).orElseGet(() -> new File[0]); for (final File child : files) { if (!canDelete(child)) { return false; } } } return true; }
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return canWrite(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return canRead(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return false; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return exsits(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
return 0; if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return getContentLength(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
throw new IllegalArgumentException(); if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return openOnputStream(this.factory.create(getFile(resourceReference))); } catch (final URISyntaxException exception) {
throw new IllegalArgumentException(); if (!(resourceReference instanceof FileResourceReference) && isFileSystemResource(resourceReference)) { try { return openInputStream(this.factory.create(getFile(resourceReference)), contentTypeAcceptor); } catch (final URISyntaxException exception) {