Class FileManagerImpl

java.lang.Object
org.apache.jena.util.FileManagerImpl
All Implemented Interfaces:
FileManager

public class FileManagerImpl extends Object implements FileManager
FileManager A FileManager provides access to named file-like resources by opening InputStreams to things in the filing system, by URL (http: and file:) and found by the classloader. It can also load RDF data from such a system resource into an existing model or create a new (Memory-based) model. There is a global FileManager which provide uniform access to system resources: applications may also create specialised FileManagers. A FileManager contains a list of location functions to try: the global FileManger has one LocatorFile, one LocatorClassLoader and one LocatorURL Main operations: *
  • loadModel, readModel : URI to model
  • open, openNoMap : URI to input stream
  • mapURI : map URI to another by LocationMapper
Utilities:
  • readWholeFileAsUTF8
  • optional caching of models
A FileManager works in conjunction with a LocationMapper. A LocationMapper is a set of alternative locations for system resources and a set of alternative prefix locations. For example, a local copy of a common RDF dataset may be used whenever the usual URL is used by the application. The LocatorFile also supports the idea of "current directory".
See Also:
  • Method Details

    • get

      public static FileManager get()
      Get the global file manager.
      Returns:
      the global file manager
    • setGlobalFileManager

      public static void setGlobalFileManager(FileManager globalFileManager)
      Set the global file manager (as returned by get()) If called before any call to get(), then the usual default filemanager is not created
      Parameters:
      globalFileManager -
    • clone

      public FileManager clone()
      Specified by:
      clone in interface FileManager
    • makeGlobal

      public static FileManager makeGlobal()
      Create a "standard" FileManager.
    • setLocationMapper

      public void setLocationMapper(LocationMapper _mapper)
      Set the location mapping
      Specified by:
      setLocationMapper in interface FileManager
    • getLocationMapper

      public LocationMapper getLocationMapper()
      Get the location mapping
      Specified by:
      getLocationMapper in interface FileManager
    • locators

      public Iterator<Locator> locators()
      Return an iterator over all the handlers
      Specified by:
      locators in interface FileManager
    • addLocator

      public void addLocator(Locator loc)
      Add a locator to the end of the locators list
      Specified by:
      addLocator in interface FileManager
    • addLocatorFile

      @Deprecated public void addLocatorFile()
      Deprecated.
      Add a file locator
      Specified by:
      addLocatorFile in interface FileManager
    • addLocatorFile

      @Deprecated public void addLocatorFile(String dir)
      Deprecated.
      Add a file locator which uses dir as its working directory
      Specified by:
      addLocatorFile in interface FileManager
    • addLocatorClassLoader

      @Deprecated public void addLocatorClassLoader(ClassLoader cLoad)
      Deprecated.
      Add a class loader locator
      Specified by:
      addLocatorClassLoader in interface FileManager
    • addLocatorURL

      @Deprecated public void addLocatorURL()
      Deprecated.
      Add a URL locator
      Specified by:
      addLocatorURL in interface FileManager
    • addLocatorZip

      @Deprecated public void addLocatorZip(String zfn)
      Deprecated.
      Add a zip file locator
      Specified by:
      addLocatorZip in interface FileManager
    • remove

      public void remove(Locator loc)
      Remove a locator
      Specified by:
      remove in interface FileManager
    • resetCache

      public void resetCache()
      Reset the model cache
      Specified by:
      resetCache in interface FileManager
    • setModelCaching

      public void setModelCaching(boolean state)
      Change the state of model cache : does not clear the cache
      Specified by:
      setModelCaching in interface FileManager
    • isCachingModels

      public boolean isCachingModels()
      return whether caching is on of off
      Specified by:
      isCachingModels in interface FileManager
    • getFromCache

      public Model getFromCache(String filenameOrURI)
      Read out of the cache - return null if not in the cache
      Specified by:
      getFromCache in interface FileManager
    • hasCachedModel

      public boolean hasCachedModel(String filenameOrURI)
      Specified by:
      hasCachedModel in interface FileManager
    • addCacheModel

      public void addCacheModel(String uri, Model m)
      Specified by:
      addCacheModel in interface FileManager
    • removeCacheModel

      public void removeCacheModel(String uri)
      Specified by:
      removeCacheModel in interface FileManager
    • loadModelInternal

      public Model loadModelInternal(String filenameOrURI)
      Load a model from a file (local or remote). This operation may attempt content negotiation for http URLs.
      Specified by:
      loadModelInternal in interface FileManager
      Parameters:
      filenameOrURI - The filename or a URI (file:, http:)
      Returns:
      a new model
      Throws:
      JenaException - if there is syntax error in file.
    • loadModel

      public Model loadModel(String filenameOrURI, String rdfSyntax)
      Load a model from a file (local or remote). URI is the base for reading the model.
      Specified by:
      loadModel in interface FileManager
      Parameters:
      filenameOrURI - The filename or a URI (file:, http:)
      rdfSyntax - RDF Serialization syntax.
      Returns:
      a new model
      Throws:
      JenaException - if there is syntax error in file.
    • loadModel

      public Model loadModel(String filenameOrURI, String baseURI, String rdfSyntax)
      Load a model from a file (local or remote).
      Specified by:
      loadModel in interface FileManager
      Parameters:
      filenameOrURI - The filename or a URI (file:, http:)
      baseURI - Base URI for loading the RDF model.
      rdfSyntax - RDF Serialization syntax.
      Returns:
      a new model
      Throws:
      JenaException - if there is syntax error in file.
    • readModelInternal

      public Model readModelInternal(Model model, String filenameOrURI)
      Read a file of RDF into a model. Guesses the syntax of the file based on filename extension, defaulting to RDF/XML.
      Specified by:
      readModelInternal in interface FileManager
      Parameters:
      model -
      filenameOrURI -
      Returns:
      The model or null, if there was an error.
      Throws:
      JenaException - if there is syntax error in file.
    • readModel

      public Model readModel(Model model, String filenameOrURI, String rdfSyntax)
      Read a file of RDF into a model.
      Specified by:
      readModel in interface FileManager
      Parameters:
      model -
      filenameOrURI -
      rdfSyntax - RDF Serialization syntax.
      Returns:
      The model or null, if there was an error.
      Throws:
      JenaException - if there is syntax error in file.
    • readModel

      public Model readModel(Model model, String filenameOrURI, String baseURI, String syntax)
      Read a file of RDF into a model.
      Specified by:
      readModel in interface FileManager
      Parameters:
      model -
      filenameOrURI -
      baseURI -
      syntax -
      Returns:
      The model
      Throws:
      JenaException - if there is syntax error in file.
    • open

      public InputStream open(String filenameOrURI)
      Open a file using the locators of this FileManager
      Specified by:
      open in interface FileManager
    • mapURI

      public String mapURI(String filenameOrURI)
      Apply the mapping of a filename or URI
      Specified by:
      mapURI in interface FileManager
    • readWholeFileAsUTF8

      public String readWholeFileAsUTF8(InputStream in)
      Slurp up a whole file
      Specified by:
      readWholeFileAsUTF8 in interface FileManager
    • readWholeFileAsUTF8

      public String readWholeFileAsUTF8(String filename)
      Slurp up a whole file: map filename as necessary
      Specified by:
      readWholeFileAsUTF8 in interface FileManager
    • openNoMap

      public InputStream openNoMap(String filenameOrURI)
      Open a file using the locators of this FileManager but without location mapping
      Specified by:
      openNoMap in interface FileManager
    • openNoMapOrNull

      public TypedStream openNoMapOrNull(String filenameOrURI)
      Open a file using the locators of this FileManager but without location mapping. Return null if not found
      Specified by:
      openNoMapOrNull in interface FileManager