private JarZipSchemeScanner(final InputStream inputStream, final String parent, final boolean recursive) throws IOException { this.inputStream = inputStream; this.jarFileScanner = new JarFileScanner(inputStream, parent, recursive); }
@Override public void close() { jarFileScanner.close(); }
@Override public String next() { if (next != null || hasNext()) { final String name = next.getName(); next = null; return name; } throw new NoSuchElementException(); }
@Override public void reset() { jarFileScanner.reset(); } }
@Override public String next() { return jarFileScanner.next(); }
@Override public InputStream open() { return jarFileScanner.open(); }
@Override public void reset() { jarFileScanner.reset(); } }
@Override public String next() { return jarFileScanner.next(); }
@Override public InputStream open() { return jarFileScanner.open(); }
private JarZipSchemeScanner(final InputStream inputStream, final String parent, final boolean recursive) throws IOException { this.inputStream = inputStream; this.jarFileScanner = new JarFileScanner(inputStream, parent, recursive); }
@Override public String next() { if (next != null || hasNext()) { final String name = next.getName(); next = null; return name; } throw new NoSuchElementException(); }
@Override public void close() { jarFileScanner.close(); }
@Override public void reset() { jarFileScanner.reset(); } }
@Override public String next() { return jarFileScanner.next(); }
@Override public InputStream open() { return jarFileScanner.open(); }
@Override public boolean hasNext() { while (next == null && !resourcePathsStack.isEmpty()) { next = resourcePathsStack.pop(); if (next.endsWith("/")) { processPaths(next); next = null; } else if (next.endsWith(".jar")) { try { compositeResourceFinder.push(new JarFileScanner(sc.getResourceAsStream(next), "", true)); } catch (final IOException ioe) { throw new ResourceFinderException(ioe); } next = null; } } return next != null; }
@Override public boolean hasNext() { final boolean hasNext = jarFileScanner.hasNext(); if (!hasNext) { try { inputStream.close(); } catch (final IOException e) { Logger.getLogger(JarZipSchemeScanner.class.getName()).log(Level.FINE, "Unable to close jar file.", e); } return false; } return true; }
@Override public boolean hasNext() { if (next == null) { try { do { this.next = jarInputStream.getNextJarEntry(); if (next == null) { break; } if (!next.isDirectory() && next.getName().startsWith(parent)) { if (recursive || next.getName().substring(parent.length()).indexOf(JAR_FILE_SEPARATOR) == -1) { break; } } } while (true); } catch (final IOException | SecurityException e) { LOGGER.log(Level.CONFIG, LocalizationMessages.JAR_SCANNER_UNABLE_TO_READ_ENTRY(), e); return false; } } if (next == null) { close(); return false; } return true; }
@Override public void reset() { jarFileScanner.reset(); } }
@Override public String next() { return jarFileScanner.next(); }