Class ClasspathCrawler
- All Implemented Interfaces:
DataProvider
This class handles a list of data files or zip/jar archives located in the
classpath. Since the classpath is not a tree structure the list elements
cannot be whole directories recursively browsed as in DirectoryCrawler, they must be data files or zip/jar archives.
A typical use case is to put all data files in a single zip or jar archive and to build an instance of this class with the single name of this zip/jar archive. Two different instances may be used one for user or project specific data and another one for system-wide or general data.
All registered
filters are applied.
Zip archives entries are supported recursively.
This is a simple application of the visitor design pattern for
list browsing.
- Author:
- Luc Maisonobe
- See Also:
-
Field Summary
Fields inherited from interface org.orekit.data.DataProvider
ZIP_ARCHIVE_PATTERN -
Constructor Summary
ConstructorsConstructorDescriptionClasspathCrawler(ClassLoader classLoader, String... list) Build a data classpath crawler.ClasspathCrawler(String... list) Build a data classpath crawler. -
Method Summary
Modifier and TypeMethodDescriptionbooleanfeed(Pattern supported, DataLoader visitor, DataProvidersManager manager) Feed a data file loader by browsing the data collection.
-
Constructor Details
-
ClasspathCrawler
Build a data classpath crawler.Calling this constructor has the same effect as calling
ClasspathCrawler(ClassLoader, String...)withClasspathCrawler.class.getClassLoader()as first argument.- Parameters:
list- list of data file names within the classpath
-
ClasspathCrawler
Build a data classpath crawler.- Parameters:
classLoader- class loader to use to retrieve the resourceslist- list of data file names within the classpath
-
-
Method Details
-
feed
Feed a data file loader by browsing the data collection.The method crawls all files referenced in the instance (for example all files in a directories tree) and for each file supported by the file loader it asks the file loader to load it.
If the method completes without exception, then the data loader is considered to have been fed successfully and the top level
data providers managerwill return immediately without attempting to use the next configured providers.If the method completes abruptly with an exception, then the top level
data providers managerwill try to use the next configured providers, in case another one can feed thedata loader.- Specified by:
feedin interfaceDataProvider- Parameters:
supported- pattern for file names supported by the visitorvisitor- data file visitor to usemanager- with the filters to apply to the resources.- Returns:
- true if some data has been loaded
-