org.topbraid.core.io
Class JenaFileGraphStore

java.lang.Object
  extended by org.topbraid.core.io.AbstractGraphStore
      extended by org.topbraid.core.io.JenaFileGraphStore
All Implemented Interfaces:
IGraphStore
Direct Known Subclasses:
N3GraphStore, NTripleGraphStore

public class JenaFileGraphStore
extends AbstractGraphStore


Constructor Summary
JenaFileGraphStore(java.lang.String lang)
           
 
Method Summary
 void close(org.eclipse.core.resources.IFile file)
          Closes any resources allocated by a given file.
protected  void doSave(java.io.OutputStream os, com.hp.hpl.jena.rdf.model.Model model, java.lang.String baseURI)
           
 java.net.URI getBaseURI(org.eclipse.core.resources.IFile file, java.util.Set<java.net.URI> imports)
          Gets the declared base URI and the owl:imports of a given file.
 ImageMetadata getImageMetadata()
          Gets a (base) image to display files of this type in the Navigator (and potentially elsewhere).
 boolean isReadOnly(org.eclipse.core.resources.IFile file)
          Checks if a given IFile is read-only.
 com.hp.hpl.jena.graph.Graph load(org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.IProgressMonitor monitor)
          Creates a new Jena Graph for a given IFile.
 void save(org.eclipse.core.resources.IFile file, com.hp.hpl.jena.graph.Graph graph, java.lang.String baseURI)
           
 boolean saveAs(org.eclipse.core.resources.IFile file, com.hp.hpl.jena.graph.Graph graph, java.lang.String baseURI)
           
 
Methods inherited from class org.topbraid.core.io.AbstractGraphStore
getFileExtensions, loadN3, loadProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JenaFileGraphStore

public JenaFileGraphStore(java.lang.String lang)
Method Detail

close

public void close(org.eclipse.core.resources.IFile file)
           throws java.lang.Exception
Description copied from interface: IGraphStore
Closes any resources allocated by a given file.

Parameters:
file - the file representing the store
Throws:
java.lang.Exception

doSave

protected void doSave(java.io.OutputStream os,
                      com.hp.hpl.jena.rdf.model.Model model,
                      java.lang.String baseURI)

getBaseURI

public java.net.URI getBaseURI(org.eclipse.core.resources.IFile file,
                               java.util.Set<java.net.URI> imports)
                        throws java.lang.Exception
Description copied from interface: IGraphStore
Gets the declared base URI and the owl:imports of a given file. For example, in the standard file back-end this would use file introspection to check the declared xml:base and the owl:imports of the owl:Ontology.

Parameters:
file - the file to get the base URI of
imports - an initially empty Set that will contain imported URIs
Returns:
the base URI
Throws:
java.lang.Exception

getImageMetadata

public ImageMetadata getImageMetadata()
Description copied from interface: IGraphStore
Gets a (base) image to display files of this type in the Navigator (and potentially elsewhere).

Returns:
the IImage or null to use the default image

isReadOnly

public boolean isReadOnly(org.eclipse.core.resources.IFile file)
Description copied from interface: IGraphStore
Checks if a given IFile is read-only. This is typically used for graph stores that just provide a view on some external data source, such as a D2RQ database (here: all files would be read-only), or for stores like the Sesame remote back-end where selected files may be read-only.

Returns:
true if this is a read-only store

load

public com.hp.hpl.jena.graph.Graph load(org.eclipse.core.resources.IFile file,
                                        org.eclipse.core.runtime.IProgressMonitor monitor)
                                 throws java.lang.Exception
Description copied from interface: IGraphStore
Creates a new Jena Graph for a given IFile. This method is only called after the system has determined whether this engine is actually responsible for the file's extension.

Parameters:
file - the file to load
monitor - the monitor for status reports or null
Returns:
a new Graph
Throws:
java.lang.Exception - if something went wrong

save

public void save(org.eclipse.core.resources.IFile file,
                 com.hp.hpl.jena.graph.Graph graph,
                 java.lang.String baseURI)
          throws java.io.IOException
Throws:
java.io.IOException

saveAs

public boolean saveAs(org.eclipse.core.resources.IFile file,
                      com.hp.hpl.jena.graph.Graph graph,
                      java.lang.String baseURI)
               throws java.lang.Exception
Returns:
true if the new IFile shall be the editor's input
Throws:
java.lang.Exception