public abstract class AbstractTripleCollection extends AbstractCollection<Triple> implements TripleCollection
TripleCollection
implementing
iterator
and contains
calling filter
.Constructor and Description |
---|
AbstractTripleCollection() |
Modifier and Type | Method and Description |
---|---|
boolean |
add(Triple triple) |
void |
addGraphListener(GraphListener listener,
FilterTriple filter)
Adds the specified
GraphListener to the graph. |
void |
addGraphListener(GraphListener listener,
FilterTriple filter,
long delay)
Adds the specified
GraphListener to the graph. |
boolean |
contains(Object o) |
protected void |
dispatchEvent(GraphEvent event)
Dispatches a
GraphEvent to all registered listeners for which
the specified Triple matches the FilterTriple s
of the listeners. |
Iterator<Triple> |
filter(NonLiteral subject,
UriRef predicate,
Resource object)
Filters triples given a pattern.
|
Iterator<Triple> |
iterator() |
protected boolean |
performAdd(Triple e)
A subclass of
AbstractTripleCollection should override
this method instead of add for graph event support to be
added. |
protected abstract Iterator<Triple> |
performFilter(NonLiteral subject,
UriRef predicate,
Resource object)
A subclass of
AbstractTripleCollection should override
this method instead of filter for graph event support to be
added. |
protected boolean |
performRemove(Triple triple)
A subclass of
AbstractTripleCollection should override
this method instead of remove for graph event support to be
added. |
boolean |
remove(Object o) |
boolean |
removeAll(Collection<?> c) |
void |
removeGraphListener(GraphListener listener)
Removes the specified
GraphListener from the graph. |
addAll, clear, containsAll, isEmpty, retainAll, size, toArray, toArray, toString
public Iterator<Triple> iterator()
iterator
in interface Iterable<Triple>
iterator
in interface Collection<Triple>
iterator
in class AbstractCollection<Triple>
public boolean contains(Object o)
contains
in interface Collection<Triple>
contains
in class AbstractCollection<Triple>
public Iterator<Triple> filter(NonLiteral subject, UriRef predicate, Resource object)
TripleCollection
filter
in interface TripleCollection
Iterator
protected abstract Iterator<Triple> performFilter(NonLiteral subject, UriRef predicate, Resource object)
AbstractTripleCollection
should override
this method instead of filter
for graph event support to be
added. The Iterator returned by filter
will dispatch a
GraphEvent after invoking the remove method of the iterator returned by
this method.subject
- predicate
- object
- public boolean add(Triple triple)
add
in interface Collection<Triple>
add
in class AbstractCollection<Triple>
protected boolean performAdd(Triple e)
AbstractTripleCollection
should override
this method instead of add
for graph event support to be
added.e
- The triple to be added to the triple collectionpublic boolean remove(Object o)
remove
in interface Collection<Triple>
remove
in class AbstractCollection<Triple>
public boolean removeAll(Collection<?> c)
removeAll
in interface Collection<Triple>
removeAll
in class AbstractCollection<Triple>
protected boolean performRemove(Triple triple)
AbstractTripleCollection
should override
this method instead of remove
for graph event support to be
added.o
- The triple to be removed from the triple collectionprotected void dispatchEvent(GraphEvent event)
GraphEvent
to all registered listeners for which
the specified Triple
matches the FilterTriple
s
of the listeners.triple
- The Triple that was modifiedtype
- The type of modificationpublic void addGraphListener(GraphListener listener, FilterTriple filter)
TripleCollection
GraphListener
to the graph. This listener
will be notified, when the graph is modified and the Triple
that was part of the modifiaction matched the specified
FilterTriple
. The notification will be passed without delay.
Same as addGraphListener(listener, filter, 0).
addGraphListener
in interface TripleCollection
listener
- The listener that will be notifiedfilter
- The triple filter with which triples are tested,
that were part of the modification.public void addGraphListener(GraphListener listener, FilterTriple filter, long delay)
TripleCollection
GraphListener
to the graph. This listener
will be notified, when the graph is modified and the Triple
that was part of the modifiaction matched the specified
FilterTriple
. The notification will be passed to the
listener after the specified delay time (in milli-seconds) has passed.
If more matching events occur during the delay period, then they are
passed all together at the end of the delay period. If the the listener
unregisters or the platform is stopped within the period then the already
occurred events may not be delivered.
All implementations support this method, immutable implementations will
typically provide an empty implementation, they shall not throw an
exception.
Implementation of which the triples change over time without add- and
remove-methods being called (e.g. implementation dynamically generating
their triples on invocation of the filer-method) may choose not to, or
only partially propagate their changes to the listener. They should
describe the behavior in the documentation of the class.
Implementations should keep weak references the listeners, so that the
listener can be garbage collected if its no longer referenced by another
object.
If delay is 0 notification will happen synchroneously.addGraphListener
in interface TripleCollection
listener
- The listener that will be notifiedfilter
- The triple filter with which triples are tested,
that were part of the modification.delay
- The time period afer which the listener will be notified in milliseconds.public void removeGraphListener(GraphListener listener)
TripleCollection
GraphListener
from the graph. This
listener will no longer be notified, when the graph is modified.removeGraphListener
in interface TripleCollection
listener
- The listener to be removed.Copyright © 2014 The Apache Software Foundation. All Rights Reserved.