Class AdapterFileManager

  • All Implemented Interfaces:
    FileManager

    public class AdapterFileManager
    extends java.lang.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
    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:
    StreamManager, LocationMapper, FileUtils
    • Constructor Detail

      • AdapterFileManager

        public AdapterFileManager​(StreamManager streamManager)
      • AdapterFileManager

        public AdapterFileManager​(StreamManager streamManager,
                                  LocationMapper mapper)
        Create a FileManger using a RIOT StreamManager and RIOT LocationMapper
    • Method Detail

      • get

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

        public static void setGlobalFileManager​(AdapterFileManager 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 -
      • makeGlobal

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

        public StreamManager getStreamManager()
        Return the associate stream manager
      • locators

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

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

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

        public void addLocatorClassLoader​(java.lang.ClassLoader cLoad)
        Add a class loader locator
        Specified by:
        addLocatorClassLoader in interface FileManager
      • addLocatorHTTP

        public void addLocatorHTTP()
      • addLocatorFTP

        public void addLocatorFTP()
      • addLocatorZip

        public void addLocatorZip​(java.lang.String zfn)
        Add a zip file locator
        Specified by:
        addLocatorZip 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​(java.lang.String filenameOrURI)
        Read out of the cache - return null if not in the cache
        Specified by:
        getFromCache in interface FileManager
      • hasCachedModel

        public boolean hasCachedModel​(java.lang.String filenameOrURI)
        Specified by:
        hasCachedModel in interface FileManager
      • open

        public java.io.InputStream open​(java.lang.String filenameOrURI)
        Open a file using the locators of this FileManager Throws RiotNotFoundException if not found.
        Specified by:
        open in interface FileManager
      • mapURI

        public java.lang.String mapURI​(java.lang.String filenameOrURI)
        Apply the mapping of a filename or URI
        Specified by:
        mapURI in interface FileManager
      • openNoMap

        public java.io.InputStream openNoMap​(java.lang.String filenameOrURI)
        Open a file using the locators of this FileManager but without location mapping. Throws RiotNotFoundException if not found.
        Specified by:
        openNoMap in interface FileManager
      • openNoMapOrNull

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

        @Deprecated
        public Model loadModel​(java.lang.String filenameOrURI,
                               java.lang.String rdfSyntax)
        Deprecated.
        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

        @Deprecated
        public Model loadModel​(java.lang.String filenameOrURI,
                               java.lang.String baseURI,
                               java.lang.String rdfSyntax)
        Deprecated.
        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.
      • readModel

        @Deprecated
        public Model readModel​(Model model,
                               java.lang.String filenameOrURI,
                               java.lang.String rdfSyntax)
        Deprecated.
        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

        @Deprecated
        public Model readModel​(Model model,
                               java.lang.String filenameOrURI,
                               java.lang.String baseURI,
                               java.lang.String syntax)
        Deprecated.
        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.
      • readWholeFileAsUTF8

        @Deprecated
        public java.lang.String readWholeFileAsUTF8​(java.io.InputStream in)
        Deprecated.
        Use IO.readWholeFileAsUTF8(InputStream)
        Specified by:
        readWholeFileAsUTF8 in interface FileManager
      • readWholeFileAsUTF8

        @Deprecated
        public java.lang.String readWholeFileAsUTF8​(java.lang.String filename)
        Deprecated.
        Use IO.readWholeFileAsUTF8(String)
        Specified by:
        readWholeFileAsUTF8 in interface FileManager