private void init() { this.compositeResourceFinder = new CompositeResourceFinder(); for (final File file : files) { processFile(file); } } }
/** * Create a scanning listener to check for Java classes in Java * class files annotated with {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider}. * * @return new instance of {@link AnnotationAcceptingListener} which looks for * {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider} annotated classes. * */ @SuppressWarnings({"unchecked"}) public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener() { return new AnnotationAcceptingListener(Path.class, Provider.class); }
@Override public void reset() { jarFileScanner.reset(); } }
private Iterator<?> getChildren(final Object directory, final boolean recursive) { final Method getChildren = bindMethod(directory, recursive ? "getChildrenRecursively" : "getChildren"); final List<?> list = invoke(directory, getChildren, List.class); if (list == null) { throw new ResourceFinderException("VFS object returned null when accessing children"); } return list.iterator(); }
public VfsResourceFinder(final URI uri, final boolean recursive) { final Object directory = bindDirectory(uri); this.openStream = bindMethod(directory, "openStream"); this.getName = bindMethod(directory, "getName"); this.isLeaf = bindMethod(directory, "isLeaf"); this.iterator = getChildren(directory, recursive); }
@Override public JarZipSchemeScanner create(final URI uri, final boolean recursive) { final String ssp = uri.getRawSchemeSpecificPart(); final String jarUrlString = ssp.substring(0, ssp.lastIndexOf('!')); final String parent = ssp.substring(ssp.lastIndexOf('!') + 2); try { return new JarZipSchemeScanner(getInputStream(jarUrlString), parent, recursive); } catch (final IOException e) { throw new ResourceFinderException(e); } }
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() { compositeResourceFinder.close(); }
@Override public boolean hasNext() { return compositeResourceFinder.hasNext(); }
@Override public String next() { return jarFileScanner.next(); }
public VfsResourceFinder(final URI uri, final boolean recursive) { final Object directory = bindDirectory(uri); this.openStream = bindMethod(directory, "openStream"); this.getName = bindMethod(directory, "getName"); this.isLeaf = bindMethod(directory, "isLeaf"); this.iterator = getChildren(directory, recursive); }
private void init() { this.compositeResourceFinder = new CompositeResourceFinder(); for (final File file : files) { processFile(file); } } }
/** * Create a scanning listener to check for Java classes in Java * class files annotated with {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider}. * * @return new instance of {@link AnnotationAcceptingListener} which looks for * {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider} annotated classes. * */ @SuppressWarnings({"unchecked"}) public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener() { return new AnnotationAcceptingListener(Path.class, Provider.class); }
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 reset() { jarFileScanner.reset(); } }
/** * Create a scanning listener to check for Java classes in Java * class files annotated with {@link Path} or {@link Provider}. * * @param classLoader the class loader to use to load Java classes that * are annotated with any one of the annotations. * @return new instance of {@link AnnotationAcceptingListener} which looks for * {@link javax.ws.rs.Path} or {@link javax.ws.rs.ext.Provider} annotated classes. */ @SuppressWarnings({"unchecked"}) public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener(final ClassLoader classLoader) { return new AnnotationAcceptingListener(classLoader, Path.class, Provider.class); }