Class ResourceFinder


  • public class ResourceFinder
    extends java.lang.Object
    The ResourceFinder class is the central file IO control point for all VirtData functions. VirtData mapping functions may ask for access to some content to use as seed or reference data. Centralizing the mechanisms used to access any of this data allows for access to the following:
    1. URL provided content - If the path is a well-formed URI, then it is read as such. If it is not, then this resource finder is skipped.
    2. Filesystem content - Files in the relative path of users are searched, using the default search path prefixes.
    3. Module content - JPMS modules may contain content within a MODULE-DATA directory. This is enabled via a service hook and SPI, since modules must own their own content. The default search path prefixes are also used here.
    4. Classpath content - Resources in the classpath are searched, using the default search path prefixes.
    These are in a priority order which is not configurable.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DATA_DIR  
    • Constructor Summary

      Constructors 
      Constructor Description
      ResourceFinder()  
    • Method Summary

      Modifier and Type Method Description
      static java.util.Optional<java.io.Reader> findOptionalReader​(java.lang.String basename, java.lang.String extenion, java.lang.String... searchPaths)  
      static java.util.Optional<java.io.InputStream> findOptionalStream​(java.lang.String basename, java.lang.String extension, java.lang.String... searchPaths)  
      static java.io.Reader findRequiredReader​(java.lang.String basename, java.lang.String extension, java.lang.String... searchPaths)  
      static java.io.InputStream findRequiredStream​(java.lang.String basename, java.lang.String extension, java.lang.String... searchPaths)  
      static java.util.Optional<java.io.InputStream> getInputStream​(java.lang.String path)  
      static java.nio.CharBuffer loadFileToCharBuffer​(java.lang.String filename, java.lang.String... searchPaths)  
      static java.util.List<java.lang.String> readDataFileLines​(java.lang.String basename)  
      static java.lang.String readDataFileString​(java.lang.String basename)  
      static java.nio.CharBuffer readDataFileToCharBuffer​(java.lang.String basename)  
      static org.apache.commons.csv.CSVParser readFileCSV​(java.lang.String basename, java.lang.String... searchPaths)  
      static java.util.List<java.lang.String> readFileLines​(java.lang.String basename, java.lang.String... searchPaths)  
      static java.lang.String readFileString​(java.lang.String basename, java.lang.String... searchPaths)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ResourceFinder

        public ResourceFinder()
    • Method Detail

      • readDataFileToCharBuffer

        public static java.nio.CharBuffer readDataFileToCharBuffer​(java.lang.String basename)
      • readDataFileLines

        public static java.util.List<java.lang.String> readDataFileLines​(java.lang.String basename)
      • readDataFileString

        public static java.lang.String readDataFileString​(java.lang.String basename)
      • readFileCSV

        public static org.apache.commons.csv.CSVParser readFileCSV​(java.lang.String basename,
                                                                   java.lang.String... searchPaths)
      • findOptionalReader

        public static java.util.Optional<java.io.Reader> findOptionalReader​(java.lang.String basename,
                                                                            java.lang.String extenion,
                                                                            java.lang.String... searchPaths)
      • findRequiredReader

        public static java.io.Reader findRequiredReader​(java.lang.String basename,
                                                        java.lang.String extension,
                                                        java.lang.String... searchPaths)
      • readFileLines

        public static java.util.List<java.lang.String> readFileLines​(java.lang.String basename,
                                                                     java.lang.String... searchPaths)
      • readFileString

        public static java.lang.String readFileString​(java.lang.String basename,
                                                      java.lang.String... searchPaths)
      • loadFileToCharBuffer

        public static java.nio.CharBuffer loadFileToCharBuffer​(java.lang.String filename,
                                                               java.lang.String... searchPaths)
      • findRequiredStream

        public static java.io.InputStream findRequiredStream​(java.lang.String basename,
                                                             java.lang.String extension,
                                                             java.lang.String... searchPaths)
      • findOptionalStream

        public static java.util.Optional<java.io.InputStream> findOptionalStream​(java.lang.String basename,
                                                                                 java.lang.String extension,
                                                                                 java.lang.String... searchPaths)
      • getInputStream

        public static java.util.Optional<java.io.InputStream> getInputStream​(java.lang.String path)