- 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 TypeMethodDescriptionvoid
close()
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.createGraph
(String name) Create a graph that does not already exist - equivalent tocreateGraph( name, false )
.createGraph
(String name, boolean strict) Create a new graph associated with the given name.getGraph()
Answer the default graph of this GraphMaker.boolean
return true iff the factory has a graph with the given nameAnswer 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 toopenGraph( name, false )
Find an existing graph that this factory knows about under the given name.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.
-
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
Create a new graph associated with the given name. If there is no such association, create one and return it. If one exists butstrict
is false, return the associated graph. Otherwise throw an AlreadyExistsException.- Parameters:
name
- the name to give to the new graphstrict
- true to cause existing bindings to throw an exception- Throws:
AlreadyExistsException
- if that name is already bound.
-
createGraph
Create a graph that does not already exist - equivalent tocreateGraph( name, false )
. -
openGraph
Find an existing graph that this factory knows about under the given name. If such a graph exists, return it. Otherwise, ifstrict
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 returnstrict
- false to create a new one if one doesn't already exist- Throws:
DoesNotExistException
- if there's no such named graph
-
openGraph
Equivalent toopenGraph( name, false )
-
removeGraph
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
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.
-