Class ObservableGraphImpl
java.lang.Object
org.apache.jena.sparql.graph.GraphWrapper
org.aksw.jena_sparql_api.collection.observable.ObservableGraphImpl
- All Implemented Interfaces:
ObservableGraph,org.apache.jena.graph.Graph
public class ObservableGraphImpl
extends org.apache.jena.sparql.graph.GraphWrapper
implements ObservableGraph
A graph wrapper that overrides the
add(Triple) and delete(Triple) methods
such that duplicate insertions and removals are suppressed and thus do not fire
superfluous events.
More importantly, the addPropertyChangeListener(PropertyChangeListener) method is provided
which fires events BEFORE changes occur on the graph. Hence, the old state of the graph
is accessible during event processing.
The raised events are instances of CollectionChangedEventImpl which is a subclass of
PropertyChangeEvent.
Note that GraphWrapper.getEventManager() fires events AFTER changes already occurred.- Author:
- raven
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanWhether to see if a quad action will change the dataset - test before add for existence, test before delete for absenceprotected PropertyChangeSupportprotected booleanWhether to record a no-op (maybe as a comment)protected VetoableChangeSupportFields inherited from interface org.apache.jena.graph.Graph
emptyGraph -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(org.apache.jena.graph.Triple quad) org.aksw.commons.collection.observable.Registrationstatic booleanapplyDeltaGraph(org.apache.jena.graph.Graph self, org.apache.jena.graph.Graph backend, VetoableChangeSupport vcs, PropertyChangeSupport pcs, boolean clearIntersection, Collection<? extends org.apache.jena.graph.Triple> rawAdditions, Collection<?> rawRemovals) static ObservableGraphImpldecorate(org.apache.jena.graph.Graph delegate) voiddelete(org.apache.jena.graph.Triple quad) static voiddeleteAny(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple pattern, PropertyChangeSupport pcs) booleandelta(Collection<? extends org.apache.jena.graph.Triple> rawAdditions, Collection<?> rawDeletions) org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple>find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o) voidremove(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o) Methods inherited from class org.apache.jena.sparql.graph.GraphWrapper
clear, close, contains, contains, dependsOn, find, get, getEventManager, getPrefixMapping, getTransactionHandler, isClosed, isEmpty, isIsomorphicWith, sizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jena.graph.Graph
add, clear, close, contains, contains, delete, dependsOn, find, find, getCapabilities, getEventManager, getPrefixMapping, getTransactionHandler, isClosed, isEmpty, isIsomorphicWith, size, sizeLong, stream, streamMethods inherited from interface org.aksw.jena_sparql_api.collection.observable.ObservableGraph
asSet, createSetField, createSetField, createValueField, createValueField
-
Field Details
-
CheckFirst
protected boolean CheckFirstWhether to see if a quad action will change the dataset - test before add for existence, test before delete for absence -
RecordNoAction
protected boolean RecordNoActionWhether to record a no-op (maybe as a comment) -
vcs
-
pcs
-
-
Constructor Details
-
ObservableGraphImpl
public ObservableGraphImpl(org.apache.jena.graph.Graph delegate)
-
-
Method Details
-
decorate
-
delta
public boolean delta(Collection<? extends org.apache.jena.graph.Triple> rawAdditions, Collection<?> rawDeletions) - Specified by:
deltain interfaceObservableGraph
-
applyDeltaGraph
public static boolean applyDeltaGraph(org.apache.jena.graph.Graph self, org.apache.jena.graph.Graph backend, VetoableChangeSupport vcs, PropertyChangeSupport pcs, boolean clearIntersection, Collection<? extends org.apache.jena.graph.Triple> rawAdditions, Collection<?> rawRemovals) -
add
public void add(org.apache.jena.graph.Triple quad) - Specified by:
addin interfaceorg.apache.jena.graph.Graph- Overrides:
addin classorg.apache.jena.sparql.graph.GraphWrapper
-
delete
public void delete(org.apache.jena.graph.Triple quad) - Specified by:
deletein interfaceorg.apache.jena.graph.Graph- Overrides:
deletein classorg.apache.jena.sparql.graph.GraphWrapper
-
remove
public void remove(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o) - Specified by:
removein interfaceorg.apache.jena.graph.Graph- Overrides:
removein classorg.apache.jena.sparql.graph.GraphWrapper
-
deleteAny
public static void deleteAny(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Triple pattern, PropertyChangeSupport pcs) -
addVetoableChangeListener
- Specified by:
addVetoableChangeListenerin interfaceObservableGraph
-
addPropertyChangeListener
public org.aksw.commons.collection.observable.Registration addPropertyChangeListener(PropertyChangeListener listener) - Specified by:
addPropertyChangeListenerin interfaceObservableGraph
-
find
public org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple> find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o) - Specified by:
findin interfaceorg.apache.jena.graph.Graph- Overrides:
findin classorg.apache.jena.sparql.graph.GraphWrapper
-