Interface GraphMaker

All Known Implementing Classes:
BaseGraphMaker, SimpleGraphMaker

public interface GraphMaker
A factory for providing instances of named graphs with appropriate storage models. It represents a directory, or a database, or a mapping: names map to graphs for the lifetime of the GraphMaker. Names can be "arbitrary" character sequences.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close the factory - no more requests need be honoured, and any clean-up can be done.
    Answer a graph who's name isn't interesting.
    Create a graph that does not already exist - equivalent to
    createGraph( name, false ).
    createGraph(String name, boolean strict)
    Create a new graph associated with the given name.
    Answer the default graph of this GraphMaker.
    boolean
    return true iff the factory has a graph with the given name
    Answer an [extended] iterator where each element is the name of a graph in the maker, and the complete sequence exhausts the set of names.
    Answer the default graph of this GraphMaker, if it has one.
    Equivalent to openGraph( name, false )
    openGraph(String name, boolean strict)
    Find an existing graph that this factory knows about under the given name.
    void
    Remove the association between the name and the graph. create will now be able to create a graph with that name, and open will no longer be able to find it.
  • Method Details

    • getGraph

      Graph getGraph()
      Answer the default graph of this GraphMaker. The same graph is returned on each call. It may only be constructed on the first call of getGraph(), or at any previous time.
      Returns:
      the same default graph each time
    • openGraph

      Graph openGraph()
      Answer the default graph of this GraphMaker, if it has one. If not, throw an exception.
    • createGraph

      Graph createGraph()
      Answer a graph who's name isn't interesting. Each call delivers a different graph. The GraphMaker may reserve a bunch of names for this purpose, of the form "anon_<digits>", if it cannot support truly anonymous graphs.
      Returns:
      a fresh anonymous graph
    • createGraph

      Graph createGraph(String name, boolean strict)
      Create a new graph associated with the given name. If there is no such association, create one and return it. If one exists but strict is false, return the associated graph. Otherwise throw an AlreadyExistsException.
      Parameters:
      name - the name to give to the new graph
      strict - true to cause existing bindings to throw an exception
      Throws:
      AlreadyExistsException - if that name is already bound.
    • createGraph

      Graph createGraph(String name)
      Create a graph that does not already exist - equivalent to
      createGraph( name, false ).
    • openGraph

      Graph openGraph(String name, boolean strict)
      Find an existing graph that this factory knows about under the given name. If such a graph exists, return it. Otherwise, if strict is false, create a new graph, associate it with the name, and return it. Otherwise throw a DoesNotExistException.
      Parameters:
      name - the name of the graph to find and return
      strict - false to create a new one if one doesn't already exist
      Throws:
      DoesNotExistException - if there's no such named graph
    • openGraph

      Graph openGraph(String name)
      Equivalent to openGraph( name, false )
    • removeGraph

      void removeGraph(String name)
      Remove the association between the name and the graph. create will now be able to create a graph with that name, and open will no longer be able to find it. Throws an exception if there's no such graph. The graph itself is not touched.
      Parameters:
      name - the name to disassociate
      Throws:
      DoesNotExistException - if the name is unbound
    • hasGraph

      boolean hasGraph(String name)
      return true iff the factory has a graph with the given name
      Parameters:
      name - the name of the graph to look for
      Returns:
      true iff there's a graph with that name
    • close

      void close()
      Close the factory - no more requests need be honoured, and any clean-up can be done.
    • listGraphs

      ExtendedIterator<String> listGraphs()
      Answer an [extended] iterator where each element is the name of a graph in the maker, and the complete sequence exhausts the set of names. No particular order is expected from the list.
      Returns:
      an extended iterator over the names of graphs known to this Maker.