org.jrdf.graph
Class AbstractTripleFactory

java.lang.Object
  extended by org.jrdf.graph.AbstractTripleFactory
All Implemented Interfaces:
TripleFactory

public abstract class AbstractTripleFactory
extends Object
implements TripleFactory

The base implementation of the Triple Factory which adds to a given graph reified statements, containers and collections.

Version:
$Revision: 1045 $
Author:
Paul Gearon, Andrew Newman

Field Summary
protected  GraphElementFactory elementFactory
          The graph element factory.
protected  Graph graph
          The graph that this factory constructs nodes for.
 
Constructor Summary
AbstractTripleFactory()
           
 
Method Summary
 void addAlternative(SubjectNode subjectNode, Alternative<ObjectNode> alternative)
          Inserts a alternative using the given subject.
 void addBag(SubjectNode subjectNode, Bag<ObjectNode> bag)
          Inserts a bag using the given subject.
 void addCollection(SubjectNode firstNode, Collection<ObjectNode> collection)
          Inserts a collection using the given subject.
 void addSequence(SubjectNode subjectNode, Sequence<ObjectNode> sequence)
          Inserts a sequence using the given subject.
 void reifyTriple(SubjectNode subjectNode, PredicateNode predicateNode, ObjectNode objectNode, SubjectNode reificationNode)
          Reifies a triple.
 void reifyTriple(Triple triple, SubjectNode reificationNode)
          Creates a reification of a triple.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jrdf.graph.TripleFactory
createTriple
 

Field Detail

graph

protected Graph graph
The graph that this factory constructs nodes for.


elementFactory

protected GraphElementFactory elementFactory
The graph element factory.

Constructor Detail

AbstractTripleFactory

public AbstractTripleFactory()
Method Detail

reifyTriple

public void reifyTriple(SubjectNode subjectNode,
                        PredicateNode predicateNode,
                        ObjectNode objectNode,
                        SubjectNode reificationNode)
                 throws TripleFactoryException,
                        AlreadyReifiedException
Reifies a triple. A triple made up of the first three nodes is added to graph and the reificationNode is used to reify the triple.

Specified by:
reifyTriple in interface TripleFactory
Parameters:
subjectNode - the subject of the triple.
predicateNode - the predicate of the triple.
objectNode - the object of the triple.
reificationNode - a node denoting the reified triple.
Throws:
TripleFactoryException - If the resource failed to be created.
AlreadyReifiedException - If there was already a triple URI for the given triple.

reifyTriple

public void reifyTriple(Triple triple,
                        SubjectNode reificationNode)
                 throws TripleFactoryException,
                        AlreadyReifiedException
Creates a reification of a triple. The triple added to the graph and the reificationNode is used to reify the triple.

Specified by:
reifyTriple in interface TripleFactory
Parameters:
triple - the triple to be reified.
reificationNode - a node denoting the reified triple.
Throws:
TripleFactoryException - If the resource failed to be created.
AlreadyReifiedException - If there was already a triple URI for the given triple.

addAlternative

public void addAlternative(SubjectNode subjectNode,
                           Alternative<ObjectNode> alternative)
                    throws TripleFactoryException
Description copied from interface: TripleFactory
Inserts a alternative using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Specified by:
addAlternative in interface TripleFactory
Parameters:
subjectNode - the subject node of the triple.
alternative - the alternative to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addBag

public void addBag(SubjectNode subjectNode,
                   Bag<ObjectNode> bag)
            throws TripleFactoryException
Description copied from interface: TripleFactory
Inserts a bag using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Specified by:
addBag in interface TripleFactory
Parameters:
subjectNode - the subject node of the triple.
bag - the bag to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addSequence

public void addSequence(SubjectNode subjectNode,
                        Sequence<ObjectNode> sequence)
                 throws TripleFactoryException
Description copied from interface: TripleFactory
Inserts a sequence using the given subject. The subject is also the object of a proceeding statement that identifies the container.

Specified by:
addSequence in interface TripleFactory
Parameters:
subjectNode - the subject node of the triple.
sequence - the sequence to add.
Throws:
TripleFactoryException - If the resources were failed to be added.

addCollection

public void addCollection(SubjectNode firstNode,
                          Collection<ObjectNode> collection)
                   throws TripleFactoryException
Description copied from interface: TripleFactory
Inserts a collection using the given subject. The subject is also the object of a proceeding statement that identifies the collection.

Specified by:
addCollection in interface TripleFactory
Parameters:
firstNode - the subject node of the triple.
collection - the collection to add.
Throws:
TripleFactoryException - If the resources were failed to be added.