com.hp.hpl.jena.rdf.model
Interface ModelMaker

All Superinterfaces:
ModelGetter, ModelSource

public interface ModelMaker
extends ModelSource

A ModelMaker contains a collection of named models, methods for creating new models [both named and anonymous] and opening previously-named models, removing models, and accessing a single "default" Model for this Maker.

Additional constraints are placed on a ModelMaker as compared to its ancestor ModelSource. ModelMakers do not arbitrarily forget their contents - once they contain a named model, that model stays inside the ModelMaker until that ModelMaker goes away, and maybe for longer (eg if the ModelMaker fronted a database or directory). And new models can be added to a ModelMaker.

Author:
kers

Method Summary
 void close()
          Close the factory - no more requests need be honoured, and any clean-up can be done.
 Model createModel(String name)
          Create a Model with the given name if no such model exists.
 Model createModel(String name, boolean strict)
          Create a new Model associated with the given name.
 GraphMaker getGraphMaker()
          Answer a GraphMaker that makes graphs the same way this ModelMaker makes models.
 boolean hasModel(String name)
          return true iff the factory has a Model with the given name
 com.hp.hpl.jena.util.iterator.ExtendedIterator<String> listModels()
          Answer an [extended] iterator where each element is the name of a model in the maker, and the complete sequence exhausts the set of names.
 Model openModel(String name, boolean strict)
          Find an existing Model that this factory knows about under the given name.
 void removeModel(String name)
          Remove the association between the name and the Model.
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.ModelSource
createDefaultModel, createFreshModel, openModel, openModelIfPresent
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.ModelGetter
getModel, getModel
 

Method Detail

createModel

Model createModel(String name,
                  boolean strict)
Create a new Model 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 Model. Otherwise throw an AlreadyExistsException.

Parameters:
name - the name to give to the new Model
strict - true to cause existing bindings to throw an exception
Throws:
AlreadyExistsException - if that name is already bound.

createModel

Model createModel(String name)
Create a Model with the given name if no such model exists. Otherwise, answer the existing model. Equivalent to
createModel( name, false ).


openModel

Model openModel(String name,
                boolean strict)
Find an existing Model that this factory knows about under the given name. If such a Model exists, return it. Otherwise, if strict is false, create a new Model, associate it with the name, and return it. Otherwise throw a DoesNotExistException.

When called with strict=false, is equivalent to the ancestor openModel(String) method.

Parameters:
name - the name of the Model 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 Model

removeModel

void removeModel(String name)
Remove the association between the name and the Model. create will now be able to create a Model with that name, and open will no longer be able to find it. Throws an exception if there's no such Model. The Model itself is not touched.

Parameters:
name - the name to disassociate
Throws:
DoesNotExistException - if the name is unbound

hasModel

boolean hasModel(String name)
return true iff the factory has a Model with the given name

Parameters:
name - the name of the Model to look for
Returns:
true iff there's a Model with that name

close

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


getGraphMaker

GraphMaker getGraphMaker()
Answer a GraphMaker that makes graphs the same way this ModelMaker makes models. In general this will be an underlying GraphMaker.


listModels

com.hp.hpl.jena.util.iterator.ExtendedIterator<String> listModels()
Answer an [extended] iterator where each element is the name of a model 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 models known to this Maker.


Licenced under the Apache License, Version 2.0