@Override public void setAttributes(URI uri, Map<String, ?> attributes, Map<?, ?> options) throws IOException { createArchive(uri, options).setAttributes(attributes); }
@Override public boolean exists(URI uri, Map<?, ?> options) { try { InputStream inputStream = createInputStream(uri, options); inputStream.close(); return true; } catch (IOException exception) { return false; } }
@Override protected InputStream yield(ZipEntry zipEntry, InputStream inputStream) throws IOException { this.zipEntry = zipEntry; Map<Object, Object> response = getResponse(options); if (response != null) { response.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, zipEntry.getTime()); } return super.yield(zipEntry, inputStream); }
try Set<String> requestedAttributes = getRequestedAttributes(options); if (requestedAttributes == null || requestedAttributes.contains(URIConverter.ATTRIBUTE_READ_ONLY)) requestedSubAttributes.add(URIConverter.ATTRIBUTE_READ_ONLY); Map<Object, Object> subOptions = new ExtensibleURIConverterImpl.OptionsMap(URIConverter.OPTION_REQUESTED_ATTRIBUTES, requestedSubAttributes, options); result.putAll(getURIConverter(subOptions).getAttributes(URI.createURI(getNestedURL()), subOptions));
@Override protected OutputStream createOutputStream(String nestedURL) throws IOException { return getURIConverter(options).createOutputStream(URI.createURI(nestedURL), options); } @Override
try Set<String> requestedAttributes = getRequestedAttributes(options); if (requestedAttributes == null || requestedAttributes.contains(URIConverter.ATTRIBUTE_READ_ONLY)) requestedSubAttributes.add(URIConverter.ATTRIBUTE_READ_ONLY); Map<Object, Object> subOptions = new ExtensibleURIConverterImpl.OptionsMap(URIConverter.OPTION_REQUESTED_ATTRIBUTES, requestedSubAttributes, options); result.putAll(getURIConverter(subOptions).getAttributes(URI.createURI(getNestedURL()), subOptions));
@Override protected InputStream createInputStream(String nestedURL) throws IOException { return getURIConverter(options).createInputStream(URI.createURI(nestedURL), options); }
@Override public Map<String, ?> getAttributes(URI uri, Map<?, ?> options) { return createArchive(uri, options).getAttributes(); }
@Override protected OutputStream createOutputStream(String nestedURL) throws IOException { return getURIConverter(options).createOutputStream(URI.createURI(nestedURL), options); } @Override
@Override protected OutputStream yield(ZipEntry zipEntry, OutputStream outputStream) throws IOException { this.zipEntry = zipEntry; Map<Object, Object> response = getResponse(options); if (response != null) { response.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, zipEntry.getTime()); } return super.yield(zipEntry, outputStream); }
@Override public boolean exists(URI uri, Map<?, ?> options) { try { InputStream inputStream = createInputStream(uri, options); inputStream.close(); return true; } catch (IOException exception) { return false; } }
@Override public InputStream createInputStream(URI uri, Map<?, ?> options) throws IOException { return createArchive(uri, options).getInputStream(); }
@Override protected InputStream createInputStream(String nestedURL) throws IOException { return getURIConverter(options).createInputStream(URI.createURI(nestedURL), options); }
@Override protected InputStream yield(ZipEntry zipEntry, InputStream inputStream) throws IOException { this.zipEntry = zipEntry; Map<Object, Object> response = getResponse(options); if (response != null) { response.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, zipEntry.getTime()); } return super.yield(zipEntry, inputStream); }
@Override public void delete(URI uri, Map<?, ?> options) throws IOException { createArchive(uri, options).delete(); }
@Override protected OutputStream yield(ZipEntry zipEntry, OutputStream outputStream) throws IOException { this.zipEntry = zipEntry; Map<Object, Object> response = getResponse(options); if (response != null) { response.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, zipEntry.getTime()); } return super.yield(zipEntry, outputStream); }
@Override public Map<String, ?> getAttributes(URI uri, Map<?, ?> options) { return createArchive(uri, options).getAttributes(); }
@Override public OutputStream createOutputStream(URI uri, Map<?, ?> options) throws IOException { return createArchive(uri, options).getOutputStream(); }
@Override public InputStream createInputStream(URI uri, Map<?, ?> options) throws IOException { return createArchive(uri, options).getInputStream(); }
@Override public void delete(URI uri, Map<?, ?> options) throws IOException { createArchive(uri, options).delete(); }