Package org.reflections.vfs
Class Vfs
- java.lang.Object
-
- org.reflections.vfs.Vfs
-
public abstract class Vfs extends Object
a simple virtual file system bridgeuse the
fromURL(java.net.URL)to get aVfs.Dir, then useVfs.Dir.getFiles()to iterate over theVfs.Filefor example:
Vfs.Dir dir = Vfs.fromURL(url); Iterablefiles = dir.getFiles(); for (Vfs.File file : files) { InputStream is = file.openInputStream(); } fromURL(java.net.URL)uses staticVfs.DefaultUrlTypesto resolve URLs. It contains VfsTypes for handling for common resources such as local jar file, local directory, jar url, jar input stream and more.It can be plugged in with other
Vfs.UrlTypeusingaddDefaultURLTypes(org.reflections.vfs.Vfs.UrlType)orsetDefaultURLTypes(java.util.List).for example:
Vfs.addDefaultURLTypes(new Vfs.UrlType() { public boolean matches(URL url) { return url.getProtocol().equals("http"); } public Vfs.Dir createDir(final URL url) { return new HttpDir(url); //implement this type... (check out a naive implementation on VfsTest) } }); Vfs.Dir dir = Vfs.fromURL(new URL("http://mirrors.ibiblio.org/pub/mirrors/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar"));use
findFiles(java.util.Collection, java.util.function.Predicate)to get an iteration of files matching given name predicate over given list of urls
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVfs.DefaultUrlTypesdefault url types used byfromURL(java.net.URL)static interfaceVfs.Diran abstract vfs dirstatic interfaceVfs.Filean abstract vfs filestatic interfaceVfs.UrlTypea matcher and factory for a url
-
Constructor Summary
Constructors Constructor Description Vfs()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddDefaultURLTypes(Vfs.UrlType urlType)add a static default url types to the beginning of the default url types list.static Iterable<Vfs.File>findFiles(Collection<URL> inUrls, String packagePrefix, Predicate<String> nameFilter)return an iterable of allVfs.Filein given urls, starting with given packagePrefix and matching nameFilterstatic Iterable<Vfs.File>findFiles(Collection<URL> urls, Predicate<Vfs.File> filePredicate)return an iterable of allVfs.Filein given urls, matching filePredicatestatic Vfs.DirfromURL(URL url)tries to create a Dir from the given url, using the defaultUrlTypesstatic Vfs.DirfromURL(URL url, List<Vfs.UrlType> urlTypes)tries to create a Dir from the given url, using the given urlTypesstatic Vfs.DirfromURL(URL url, Vfs.UrlType... urlTypes)tries to create a Dir from the given url, using the given urlTypesstatic List<Vfs.UrlType>getDefaultUrlTypes()the default url types that will be used when issuingfromURL(java.net.URL)static FilegetFile(URL url)try to getFilefrom urlstatic voidsetDefaultURLTypes(List<Vfs.UrlType> urlTypes)sets the static default url types.
-
-
-
Method Detail
-
getDefaultUrlTypes
public static List<Vfs.UrlType> getDefaultUrlTypes()
the default url types that will be used when issuingfromURL(java.net.URL)
-
setDefaultURLTypes
public static void setDefaultURLTypes(List<Vfs.UrlType> urlTypes)
sets the static default url types. can be used to statically plug in urlTypes
-
addDefaultURLTypes
public static void addDefaultURLTypes(Vfs.UrlType urlType)
add a static default url types to the beginning of the default url types list. can be used to statically plug in urlTypes
-
fromURL
public static Vfs.Dir fromURL(URL url)
tries to create a Dir from the given url, using the defaultUrlTypes
-
fromURL
public static Vfs.Dir fromURL(URL url, List<Vfs.UrlType> urlTypes)
tries to create a Dir from the given url, using the given urlTypes
-
fromURL
public static Vfs.Dir fromURL(URL url, Vfs.UrlType... urlTypes)
tries to create a Dir from the given url, using the given urlTypes
-
findFiles
public static Iterable<Vfs.File> findFiles(Collection<URL> inUrls, String packagePrefix, Predicate<String> nameFilter)
return an iterable of allVfs.Filein given urls, starting with given packagePrefix and matching nameFilter
-
findFiles
public static Iterable<Vfs.File> findFiles(Collection<URL> urls, Predicate<Vfs.File> filePredicate)
return an iterable of allVfs.Filein given urls, matching filePredicate
-
-