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(); }
private Method bindMethod(final Object object, final String name) { if (System.getSecurityManager() != null) { AccessController.doPrivileged(new PrivilegedAction<Method>() { public Method run() { return bindMethod0(object, name); } }); } return bindMethod0(object, name); }
@Override public ResourceFinder create(final URI uri, final boolean recursive) { return new VfsResourceFinder(uri, recursive); }
@Override public ResourceFinder create(final URI uri, final boolean recursive) { return new VfsResourceFinder(uri, recursive); }
@Override public boolean hasNext() { return next != null || advance(); }
@Override public boolean hasNext() { return next != null || advance(); }
@Override public ResourceFinder create(final URI uri, final boolean recursive) { return new VfsResourceFinder(uri, recursive); }
@Override public boolean hasNext() { return next != null || advance(); }
@Override public ResourceFinder create(final URI uri, final boolean recursive) { return new VfsResourceFinder(uri, recursive); }
@Override public boolean hasNext() { return next != null || advance(); }
public boolean advance() { while (iterator.hasNext()) { final Object next = iterator.next(); if (invoke(next, isLeaf, Boolean.class)) { this.next = next; return true; } } return false; }
public boolean advance() { while (iterator.hasNext()) { final Object next = iterator.next(); if (invoke(next, isLeaf, Boolean.class)) { this.next = next; return true; } } return false; }
private Method bindMethod(final Object object, final String name) { if (System.getSecurityManager() != null) { AccessController.doPrivileged(new PrivilegedAction<Method>() { public Method run() { return bindMethod0(object, name); } }); } return bindMethod0(object, name); }
@Override public InputStream open() { final Object current = this.current; if (current == null) { throw new IllegalStateException("next() must be called before open()"); } return invoke(current, openStream, InputStream.class); }
@Override public InputStream open() { final Object current = this.current; if (current == null) { throw new IllegalStateException("next() must be called before open()"); } return invoke(current, openStream, InputStream.class); }
public boolean advance() { while (iterator.hasNext()) { final Object next = iterator.next(); if (invoke(next, isLeaf, Boolean.class)) { this.next = next; return true; } } return false; }
public boolean advance() { while (iterator.hasNext()) { final Object next = iterator.next(); if (invoke(next, isLeaf, Boolean.class)) { this.next = next; return true; } } return false; }
@Override public InputStream open() { final Object current = this.current; if (current == null) { throw new IllegalStateException("next() must be called before open()"); } return invoke(current, openStream, InputStream.class); }